RE: [PATCH V4 net-next 7/8] net: hns3: Add Ethtool support to HNS3 driver
From: Salil Mehta
Date: Thu Jul 27 2017 - 16:47:14 EST
Hi Florian,
> -----Original Message-----
> From: Florian Fainelli [mailto:f.fainelli@xxxxxxxxx]
> Sent: Thursday, July 27, 2017 7:05 PM
> To: Salil Mehta; davem@xxxxxxxxxxxxx
> Cc: Zhuangyuzeng (Yisen); huangdaode; lipeng (Y);
> mehta.salil.lnk@xxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Linuxarm
> Subject: Re: [PATCH V4 net-next 7/8] net: hns3: Add Ethtool support to
> HNS3 driver
>
> On 07/27/2017 11:01 AM, Salil Mehta wrote:
> > Hi Florian,
> >
> >> -----Original Message-----
> >> From: Florian Fainelli [mailto:f.fainelli@xxxxxxxxx]
> >> Sent: Sunday, July 23, 2017 6:05 PM
> >> To: Salil Mehta; davem@xxxxxxxxxxxxx
> >> Cc: Zhuangyuzeng (Yisen); huangdaode; lipeng (Y);
> >> mehta.salil.lnk@xxxxxxxxx; netdev@xxxxxxxxxxxxxxx; linux-
> >> kernel@xxxxxxxxxxxxxxx; linux-rdma@xxxxxxxxxxxxxxx; Linuxarm
> >> Subject: Re: [PATCH V4 net-next 7/8] net: hns3: Add Ethtool support
> to
> >> HNS3 driver
> >>
> >>
> >>
> >> On 07/22/2017 03:09 PM, Salil Mehta wrote:
> >>> This patch adds the support of the Ethtool interface to
> >>> the HNS3 Ethernet driver. Various commands to read the
> >>> statistics, configure the offloading, loopback selftest etc.
> >>> are supported.
> >>>
> >>> Signed-off-by: Daode Huang <huangdaode@xxxxxxxxxxxxx>
> >>> Signed-off-by: lipeng <lipeng321@xxxxxxxxxx>
> >>> Signed-off-by: Salil Mehta <salil.mehta@xxxxxxxxxx>
> >>> Signed-off-by: Yisen Zhuang <yisen.zhuang@xxxxxxxxxx>
> >>> ---
> >>> Patch V4: addressed below comments
> >>> 1. Andrew Lunn
> >>> Removed the support of loop PHY back for now
> >>> Patch V3: Address below comments
> >>> 1. Stephen Hemminger
> >>> https://lkml.org/lkml/2017/6/13/974
> >>> 2. Andrew Lunn
> >>> https://lkml.org/lkml/2017/6/13/1037
> >>> Patch V2: No change
> >>> Patch V1: Initial Submit
> >>> ---
> >>> .../ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c | 543
> >> +++++++++++++++++++++
> >>> 1 file changed, 543 insertions(+)
> >>> create mode 100644
> >> drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c
> >>>
> >>> diff --git
> >> a/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c
> >> b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c
> >>> new file mode 100644
> >>> index 000000000000..82b0d4d829f8
> >>> --- /dev/null
> >>> +++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_ethtool.c
> >>> @@ -0,0 +1,543 @@
> >>> +/*
> >>> + * Copyright (c) 2016~2017 Hisilicon Limited.
> >>> + *
> >>> + * This program is free software; you can redistribute it and/or
> >> modify
> >>> + * it under the terms of the GNU General Public License as
> published
> >> by
> >>> + * the Free Software Foundation; either version 2 of the License,
> or
> >>> + * (at your option) any later version.
> >>> + */
> >>> +
> >>> +#include <linux/etherdevice.h>
> >>> +#include "hns3_enet.h"
> >>> +
> >>> +struct hns3_stats {
> >>> + char stats_string[ETH_GSTRING_LEN];
> >>> + int stats_size;
> >>> + int stats_offset;
> >>> +};
> >>> +
> >>> +/* netdev related stats */
> >>> +#define HNS3_NETDEV_STAT(_string, _member) \
> >>> + { _string, \
> >>> + FIELD_SIZEOF(struct rtnl_link_stats64, _member), \
> >>> + offsetof(struct rtnl_link_stats64, _member), \
> >>> + }
> >>
> >> Can you make this macro use named initializers?
> > Can you please explain bit more or point out some
> > example. This would be very handy.
>
> .stat_string = _string,
> .stats_size = FIELD_SIZEOF(struct rtnl_link_stat64, _member),
> .stats_offset = offsetof(struct rtnl_link_stats64, _member),
>
> https://gcc.gnu.org/onlinedocs/gcc/Designated-Inits.html
Ok got it, thanks!
> --
> Florian