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 ��.n��������+%������w��{.n�����{���fk��ܨ}���Ơz�j:+v�����w����ޙ��&�)ߡ�a����z�ޗ���ݢj��w�f