Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751587AbdG0SE7 (ORCPT ); Thu, 27 Jul 2017 14:04:59 -0400 Received: from mail-qk0-f193.google.com ([209.85.220.193]:32871 "EHLO mail-qk0-f193.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751030AbdG0SE5 (ORCPT ); Thu, 27 Jul 2017 14:04:57 -0400 Subject: Re: [PATCH V4 net-next 7/8] net: hns3: Add Ethtool support to HNS3 driver To: Salil Mehta , "davem@davemloft.net" Cc: "Zhuangyuzeng (Yisen)" , huangdaode , "lipeng (Y)" , "mehta.salil.lnk@gmail.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "linux-rdma@vger.kernel.org" , Linuxarm References: <20170722220942.78852-1-salil.mehta@huawei.com> <20170722220942.78852-8-salil.mehta@huawei.com> <23ddbe00-8bef-a09b-5783-3a5438086bd6@gmail.com> From: Florian Fainelli Message-ID: <0fa12c08-8d20-5bb2-5e56-c083c57922e2@gmail.com> Date: Thu, 27 Jul 2017 11:04:53 -0700 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.2.1 MIME-Version: 1.0 In-Reply-To: Content-Type: text/plain; charset=utf-8 Content-Language: en-US Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3007 Lines: 89 On 07/27/2017 11:01 AM, Salil Mehta wrote: > Hi Florian, > >> -----Original Message----- >> From: Florian Fainelli [mailto:f.fainelli@gmail.com] >> Sent: Sunday, July 23, 2017 6:05 PM >> To: Salil Mehta; davem@davemloft.net >> Cc: Zhuangyuzeng (Yisen); huangdaode; lipeng (Y); >> mehta.salil.lnk@gmail.com; netdev@vger.kernel.org; linux- >> kernel@vger.kernel.org; linux-rdma@vger.kernel.org; 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 >>> Signed-off-by: lipeng >>> Signed-off-by: Salil Mehta >>> Signed-off-by: Yisen Zhuang >>> --- >>> 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 >>> +#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 -- Florian