diff mbox series

[net-next,9/9] net: hns3: Add HNS3 driver to kernel build framework & MAINTAINERS

Message ID 20170610034630.493852-10-salil.mehta@huawei.com
State Superseded
Headers show
Series Hisilicon Network Subsystem 3 Ethernet Driver | expand

Commit Message

Salil Mehta June 10, 2017, 3:46 a.m. UTC
This patch updates the MAINTAINERS file with HNS3 Ethernet driver
maintainers names and other details. This also introduces the new
Makefiles required to build the HNS3 Ethernet driver and updates
the existing Kconfig file in the hisilicon folder.

Signed-off-by: Salil Mehta <salil.mehta@huawei.com>

---
 MAINTAINERS                                        |  8 ++++++++
 drivers/net/ethernet/hisilicon/Kconfig             | 24 ++++++++++++++++++++++
 drivers/net/ethernet/hisilicon/Makefile            |  1 +
 drivers/net/ethernet/hisilicon/hns3/Makefile       |  7 +++++++
 .../net/ethernet/hisilicon/hns3/hns3pf/Makefile    | 11 ++++++++++
 5 files changed, 51 insertions(+)
 create mode 100644 drivers/net/ethernet/hisilicon/hns3/Makefile
 create mode 100644 drivers/net/ethernet/hisilicon/hns3/hns3pf/Makefile

-- 
2.7.4

Comments

kernel test robot June 11, 2017, 1:41 p.m. UTC | #1
Hi Salil,

[auto build test WARNING on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Salil-Mehta/Hisilicon-Network-Subsystem-3-Ethernet-Driver/20170611-204908
config: parisc-allyesconfig (attached as .config)
compiler: hppa-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=parisc 

All warnings (new ones prefixed by >>):

   drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c: In function 'hclge_update_speed_duplex':
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c:2266:1: warning: the frame size of 1440 bytes is larger than 1024 bytes [-Wframe-larger-than=]

    }
    ^

vim +2266 drivers/net/ethernet/hisilicon/hns3/hns3pf/hclge_main.c

14965015 Salil Mehta 2017-06-10  2250  	if (ret) {
14965015 Salil Mehta 2017-06-10  2251  		dev_err(&hdev->pdev->dev,
14965015 Salil Mehta 2017-06-10  2252  			"mac autoneg/speed/duplex query failed %d\n", ret);
14965015 Salil Mehta 2017-06-10  2253  		return ret;
14965015 Salil Mehta 2017-06-10  2254  	}
14965015 Salil Mehta 2017-06-10  2255  
14965015 Salil Mehta 2017-06-10  2256  	if ((mac.speed != speed) || (mac.duplex != duplex)) {
14965015 Salil Mehta 2017-06-10  2257  		ret = hclge_cfg_mac_speed_dup(hdev, speed, duplex);
14965015 Salil Mehta 2017-06-10  2258  		if (ret) {
14965015 Salil Mehta 2017-06-10  2259  			dev_err(&hdev->pdev->dev,
14965015 Salil Mehta 2017-06-10  2260  				"mac speed/duplex config failed %d\n", ret);
14965015 Salil Mehta 2017-06-10  2261  			return ret;
14965015 Salil Mehta 2017-06-10  2262  		}
14965015 Salil Mehta 2017-06-10  2263  	}
14965015 Salil Mehta 2017-06-10  2264  
14965015 Salil Mehta 2017-06-10  2265  	return 0;
14965015 Salil Mehta 2017-06-10 @2266  }
14965015 Salil Mehta 2017-06-10  2267  
14965015 Salil Mehta 2017-06-10  2268  static int hclge_update_speed_duplex_h(struct hnae3_handle *handle)
14965015 Salil Mehta 2017-06-10  2269  {
14965015 Salil Mehta 2017-06-10  2270  	struct hclge_vport *vport = hclge_get_vport(handle);
14965015 Salil Mehta 2017-06-10  2271  	struct hclge_dev *hdev = vport->back;
14965015 Salil Mehta 2017-06-10  2272  
14965015 Salil Mehta 2017-06-10  2273  	return hclge_update_speed_duplex(hdev);
14965015 Salil Mehta 2017-06-10  2274  }

:::::: The code at line 2266 was first introduced by commit
:::::: 1496501507394557c091dfe9d27fe0124802fbee net: hns3: Add HNS3 Acceleration Engine & Compatibility Layer Support

:::::: TO: Salil Mehta <salil.mehta@huawei.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
kernel test robot June 11, 2017, 1:41 p.m. UTC | #2
Hi Salil,

[auto build test ERROR on net-next/master]

url:    https://github.com/0day-ci/linux/commits/Salil-Mehta/Hisilicon-Network-Subsystem-3-Ethernet-Driver/20170611-204908
config: alpha-allyesconfig (attached as .config)
compiler: alpha-linux-gnu-gcc (Debian 6.3.0-18) 6.3.0 20170516
reproduce:
        wget https://raw.githubusercontent.com/01org/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # save the attached .config to linux build tree
        make.cross ARCH=alpha 

All errors (new ones prefixed by >>):

   drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c: In function 'hns3_nic_poll_controller':
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c:61:26: error: 'struct hnae3_knic_private_info' has no member named 'num_tqp_vectors'; did you mean 'num_tqps'?

     for (i = 0; i < h->kinfo.num_tqp_vectors; i++)
                             ^
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c:62:26: error: 'struct hnae3_knic_private_info' has no member named 'tqp_vectors'

      napi_schedule(&h->kinfo.tqp_vectors[i].napi);
                             ^
   drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c: At top level:
>> drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c:1275:19: error: initialization from incompatible pointer type [-Werror=incompatible-pointer-types]

     .ndo_setup_tc  = hns3_nic_setup_tc,
                      ^~~~~~~~~~~~~~~~~
   drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c:1275:19: note: (near initialization for 'hns3_nic_netdev_ops.ndo_setup_tc')
   cc1: some warnings being treated as errors

vim +61 drivers/net/ethernet/hisilicon/hns3/hns3pf/hns3_enet.c

b7d58d74 Salil Mehta 2017-06-10  55  	struct hns3_nic_priv *priv = netdev_priv(ndev);
b7d58d74 Salil Mehta 2017-06-10  56  	struct hnae3_handle *h = priv->ae_handle;
b7d58d74 Salil Mehta 2017-06-10  57  	unsigned long flag;
b7d58d74 Salil Mehta 2017-06-10  58  	int i;
b7d58d74 Salil Mehta 2017-06-10  59  
b7d58d74 Salil Mehta 2017-06-10  60  	local_irq_save(flag);
b7d58d74 Salil Mehta 2017-06-10 @61  	for (i = 0; i < h->kinfo.num_tqp_vectors; i++)
b7d58d74 Salil Mehta 2017-06-10 @62  		napi_schedule(&h->kinfo.tqp_vectors[i].napi);
b7d58d74 Salil Mehta 2017-06-10  63  	local_irq_restore(flag);
b7d58d74 Salil Mehta 2017-06-10  64  }
b7d58d74 Salil Mehta 2017-06-10  65  #endif

:::::: The code at line 61 was first introduced by commit
:::::: b7d58d744ff1224947a4cf8373ee9855e5a29af5 net: hns3: Add support of HNS3 Ethernet Driver for hip08 SoC

:::::: TO: Salil Mehta <salil.mehta@huawei.com>
:::::: CC: 0day robot <fengguang.wu@intel.com>

---
0-DAY kernel test infrastructure                Open Source Technology Center
https://lists.01.org/pipermail/kbuild-all                   Intel Corporation
diff mbox series

Patch

diff --git a/MAINTAINERS b/MAINTAINERS
index 8b8249b..cda0e80 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -6070,6 +6070,14 @@  S:	Maintained
 F:	drivers/net/ethernet/hisilicon/
 F:	Documentation/devicetree/bindings/net/hisilicon*.txt
 
+HISILICON NETWORK SUBSYSTEM 3 DRIVER (HNS3)
+M:	Yisen Zhuang <yisen.zhuang@huawei.com>
+M:	Salil Mehta <salil.mehta@huawei.com>
+L:	netdev@vger.kernel.org
+W:	http://www.hisilicon.com
+S:	Maintained
+F:	drivers/net/ethernet/hisilicon/hns3/
+
 HISILICON ROCE DRIVER
 M:	Lijun Ou <oulijun@huawei.com>
 M:	Wei Hu(Xavier) <xavier.huwei@huawei.com>
diff --git a/drivers/net/ethernet/hisilicon/Kconfig b/drivers/net/ethernet/hisilicon/Kconfig
index d11287e..2c48fce 100644
--- a/drivers/net/ethernet/hisilicon/Kconfig
+++ b/drivers/net/ethernet/hisilicon/Kconfig
@@ -76,4 +76,28 @@  config HNS_ENET
 	  This selects the general ethernet driver for HNS.  This module make
 	  use of any HNS AE driver, such as HNS_DSAF
 
+config HNS3
+	tristate "Hisilicon Network Subsystem Support HNS3 (Framework)"
+	---help---
+	  This selects the framework support for Hisilicon Network Subsystem 3.
+	  This layer facilitates clients like ENET, RoCE and user-space ethernet
+	  drivers(like ODP)to register with HNAE devices and their associated
+	  operations.
+
+config HNS3_HCLGE
+	tristate "Hisilicon HNS3 HCLGE Acceleration Engine & Compatibility Layer Support"
+	select HNS3
+	---help---
+	  This selects the HNS3_HCLGE network acceleration engine & its hardware
+	  compatibility layer. The engine would be used in Hisilicon hip08 family of
+	  SoCs and further upcoming SoCs.
+
+config HNS3_ENET
+	tristate "Hisilicon HNS3 Ethernet Device Support"
+	select HNS3
+	---help---
+	  This selects the Ethernet Driver for Hisilicon Network Subsystem 3 for hip08
+	  family of SoCs. This module depends upon HNAE3 driver to access the HNAE3
+	  devices and their associated operations.
+
 endif # NET_VENDOR_HISILICON
diff --git a/drivers/net/ethernet/hisilicon/Makefile b/drivers/net/ethernet/hisilicon/Makefile
index 8661695..3828c43 100644
--- a/drivers/net/ethernet/hisilicon/Makefile
+++ b/drivers/net/ethernet/hisilicon/Makefile
@@ -6,4 +6,5 @@  obj-$(CONFIG_HIX5HD2_GMAC) += hix5hd2_gmac.o
 obj-$(CONFIG_HIP04_ETH) += hip04_eth.o
 obj-$(CONFIG_HNS_MDIO) += hns_mdio.o
 obj-$(CONFIG_HNS) += hns/
+obj-$(CONFIG_HNS3) += hns3/
 obj-$(CONFIG_HISI_FEMAC) += hisi_femac.o
diff --git a/drivers/net/ethernet/hisilicon/hns3/Makefile b/drivers/net/ethernet/hisilicon/hns3/Makefile
new file mode 100644
index 0000000..5e53735
--- /dev/null
+++ b/drivers/net/ethernet/hisilicon/hns3/Makefile
@@ -0,0 +1,7 @@ 
+#
+# Makefile for the HISILICON network device drivers.
+#
+
+obj-$(CONFIG_HNS3) += hns3pf/
+
+obj-$(CONFIG_HNS3) +=hnae3.o
diff --git a/drivers/net/ethernet/hisilicon/hns3/hns3pf/Makefile b/drivers/net/ethernet/hisilicon/hns3/hns3pf/Makefile
new file mode 100644
index 0000000..8c3fd38
--- /dev/null
+++ b/drivers/net/ethernet/hisilicon/hns3/hns3pf/Makefile
@@ -0,0 +1,11 @@ 
+#
+# Makefile for the HISILICON network device drivers.
+#
+
+ccflags-y := -Idrivers/net/ethernet/hisilicon/hns3
+
+obj-$(CONFIG_HNS3_HCLGE) += hclge.o
+hclge-objs =hclge_main.o hclge_cmd.o hclge_mdio.o hclge_debugfs.o hclge_tm.o
+
+obj-$(CONFIG_HNS3_ENET) += hns3.o
+hns3-objs = hns3_enet.o hns3_ethtool.o