nfp: rename the driver and add new main file
authorJakub Kicinski <jakub.kicinski@netronome.com>
Thu, 9 Feb 2017 17:17:28 +0000 (09:17 -0800)
committerDavid S. Miller <davem@davemloft.net>
Fri, 10 Feb 2017 20:52:24 +0000 (15:52 -0500)
Support for the PF driver is about to be added and will share
much of the code.  When the VF driver was added we planned to
maintain the PF driver as a separate module but have decided
that for our simple use case just maintaining a single module
is more reasonable.  Rename the driver to just "nfp" and update
the Kconfig.

While at it remove latent references to NFP3200.

Signed-off-by: Jakub Kicinski <jakub.kicinski@netronome.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/netronome/Kconfig
drivers/net/ethernet/netronome/Makefile
drivers/net/ethernet/netronome/nfp/Makefile
drivers/net/ethernet/netronome/nfp/nfp_main.c [new file with mode: 0644]
drivers/net/ethernet/netronome/nfp/nfp_main.h [new file with mode: 0644]
drivers/net/ethernet/netronome/nfp/nfp_net.h
drivers/net/ethernet/netronome/nfp/nfp_net_ethtool.c
drivers/net/ethernet/netronome/nfp/nfp_netvf_main.c

index 9508ad782c3062606eb49233fa5424494de332e2..967d7ca8c28cbea3b07ffc6ce8fe6b82b582408d 100644 (file)
@@ -15,21 +15,21 @@ config NET_VENDOR_NETRONOME
 
 if NET_VENDOR_NETRONOME
 
-config NFP_NETVF
-       tristate "Netronome(R) NFP4000/NFP6000 VF NIC driver"
+config NFP
+       tristate "Netronome(R) NFP4000/NFP6000 NIC driver"
        depends on PCI && PCI_MSI
        depends on VXLAN || VXLAN=n
        ---help---
-         This driver supports SR-IOV virtual functions of
-         the Netronome(R) NFP4000/NFP6000 cards working as
-         a advanced Ethernet NIC.
+         This driver supports the Netronome(R) NFP4000/NFP6000 based
+         cards working as a advanced Ethernet NIC.  It works with both
+         SR-IOV physical and virtual functions.
 
-config NFP_NET_DEBUG
-       bool "Debug support for Netronome(R) NFP3200/NFP6000 NIC drivers"
-       depends on NFP_NET || NFP_NETVF
+config NFP_DEBUG
+       bool "Debug support for Netronome(R) NFP4000/NFP6000 NIC drivers"
+       depends on NFP
        ---help---
          Enable extra sanity checks and debugfs support in
-         Netronome(R) NFP3200/NFP6000 NIC PF and VF drivers.
+         Netronome(R) NFP4000/NFP6000 NIC drivers.
          Note: selecting this option may adversely impact
                performance.
 
index dcb7b383f6348137eb39544392bcfd47459a8408..7fb3b84b5556db05dee586bab885cf11339670b9 100644 (file)
@@ -2,4 +2,4 @@
 # Makefile for the Netronome network device drivers
 #
 
-obj-$(CONFIG_NFP_NETVF) += nfp/
+obj-$(CONFIG_NFP) += nfp/
index 0efb2ba9a558f9679aa96362c4a38236a19cdf5e..1103cb498323a2c96ecf75e79480385d307864b9 100644 (file)
@@ -1,15 +1,16 @@
-obj-$(CONFIG_NFP_NETVF)        += nfp_netvf.o
+obj-$(CONFIG_NFP)      += nfp.o
 
-nfp_netvf-objs := \
+nfp-objs := \
+           nfp_main.o \
            nfp_net_common.o \
            nfp_net_ethtool.o \
            nfp_net_offload.o \
            nfp_netvf_main.o
 
 ifeq ($(CONFIG_BPF_SYSCALL),y)
-nfp_netvf-objs += \
+nfp-objs += \
            nfp_bpf_verifier.o \
            nfp_bpf_jit.o
 endif
 
-nfp_netvf-$(CONFIG_NFP_NET_DEBUG) += nfp_net_debugfs.o
+nfp-$(CONFIG_NFP_DEBUG) += nfp_net_debugfs.o
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_main.c b/drivers/net/ethernet/netronome/nfp/nfp_main.c
new file mode 100644 (file)
index 0000000..cc6d75f
--- /dev/null
@@ -0,0 +1,85 @@
+/*
+ * Copyright (C) 2015-2017 Netronome Systems, Inc.
+ *
+ * This software is dual licensed under the GNU General License Version 2,
+ * June 1991 as shown in the file COPYING in the top-level directory of this
+ * source tree or the BSD 2-Clause License provided below.  You have the
+ * option to license this software under the complete terms of either license.
+ *
+ * The BSD 2-Clause License:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      1. Redistributions of source code must retain the above
+ *         copyright notice, this list of conditions and the following
+ *         disclaimer.
+ *
+ *      2. Redistributions in binary form must reproduce the above
+ *         copyright notice, this list of conditions and the following
+ *         disclaimer in the documentation and/or other materials
+ *         provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * nfp_main.c
+ * Authors: Jakub Kicinski <jakub.kicinski@netronome.com>
+ *          Alejandro Lucero <alejandro.lucero@netronome.com>
+ *          Jason McMullan <jason.mcmullan@netronome.com>
+ *          Rolf Neugebauer <rolf.neugebauer@netronome.com>
+ */
+
+#include <linux/kernel.h>
+#include <linux/module.h>
+#include <linux/pci.h>
+#include <linux/firmware.h>
+#include <linux/vermagic.h>
+
+#include "nfp_main.h"
+#include "nfp_net.h"
+
+static const char nfp_driver_name[] = "nfp";
+const char nfp_driver_version[] = VERMAGIC_STRING;
+
+static int __init nfp_main_init(void)
+{
+       int err;
+
+       pr_info("%s: NFP PCIe Driver, Copyright (C) 2014-2017 Netronome Systems\n",
+               nfp_driver_name);
+
+       nfp_net_debugfs_create();
+
+       err = pci_register_driver(&nfp_netvf_pci_driver);
+       if (err)
+               goto err_destroy_debugfs;
+
+       return err;
+
+err_destroy_debugfs:
+       nfp_net_debugfs_destroy();
+       return err;
+}
+
+static void __exit nfp_main_exit(void)
+{
+       pci_unregister_driver(&nfp_netvf_pci_driver);
+       nfp_net_debugfs_destroy();
+}
+
+module_init(nfp_main_init);
+module_exit(nfp_main_exit);
+
+MODULE_AUTHOR("Netronome Systems <oss-drivers@netronome.com>");
+MODULE_LICENSE("GPL");
+MODULE_DESCRIPTION("The Netronome Flow Processor (NFP) driver.");
diff --git a/drivers/net/ethernet/netronome/nfp/nfp_main.h b/drivers/net/ethernet/netronome/nfp/nfp_main.h
new file mode 100644 (file)
index 0000000..371ae27
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * Copyright (C) 2015-2017 Netronome Systems, Inc.
+ *
+ * This software is dual licensed under the GNU General License Version 2,
+ * June 1991 as shown in the file COPYING in the top-level directory of this
+ * source tree or the BSD 2-Clause License provided below.  You have the
+ * option to license this software under the complete terms of either license.
+ *
+ * The BSD 2-Clause License:
+ *
+ *     Redistribution and use in source and binary forms, with or
+ *     without modification, are permitted provided that the following
+ *     conditions are met:
+ *
+ *      1. Redistributions of source code must retain the above
+ *         copyright notice, this list of conditions and the following
+ *         disclaimer.
+ *
+ *      2. Redistributions in binary form must reproduce the above
+ *         copyright notice, this list of conditions and the following
+ *         disclaimer in the documentation and/or other materials
+ *         provided with the distribution.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS
+ * BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN
+ * ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
+ * CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
+ * SOFTWARE.
+ */
+
+/*
+ * nfp_main.h
+ * Author: Jason McMullan <jason.mcmullan@netronome.com>
+ */
+
+#ifndef NFP_MAIN_H
+#define NFP_MAIN_H
+
+#include <linux/types.h>
+#include <linux/msi.h>
+#include <linux/pci.h>
+
+extern struct pci_driver nfp_netvf_pci_driver;
+
+#endif /* NFP_MAIN_H */
index 2115f446031ef46c3e2c6c586d58f31e064efa38..f05f750c2ea0a7c947b291328689256e2de3fa97 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Netronome Systems, Inc.
+ * Copyright (C) 2015-2017 Netronome Systems, Inc.
  *
  * This software is dual licensed under the GNU General License Version 2,
  * June 1991 as shown in the file COPYING in the top-level directory of this
@@ -770,8 +770,7 @@ static inline u32 nfp_qcp_wr_ptr_read(u8 __iomem *q)
 }
 
 /* Globals */
-extern const char nfp_net_driver_name[];
-extern const char nfp_net_driver_version[];
+extern const char nfp_driver_version[];
 
 /* Prototypes */
 void nfp_net_get_fw_version(struct nfp_net_fw_version *fw_ver,
@@ -795,7 +794,7 @@ int
 nfp_net_ring_reconfig(struct nfp_net *nn, struct bpf_prog **xdp_prog,
                      struct nfp_net_ring_set *rx, struct nfp_net_ring_set *tx);
 
-#ifdef CONFIG_NFP_NET_DEBUG
+#ifdef CONFIG_NFP_DEBUG
 void nfp_net_debugfs_create(void);
 void nfp_net_debugfs_destroy(void);
 void nfp_net_debugfs_adapter_add(struct nfp_net *nn);
@@ -816,7 +815,7 @@ static inline void nfp_net_debugfs_adapter_add(struct nfp_net *nn)
 static inline void nfp_net_debugfs_adapter_del(struct nfp_net *nn)
 {
 }
-#endif /* CONFIG_NFP_NET_DEBUG */
+#endif /* CONFIG_NFP_DEBUG */
 
 void nfp_net_filter_stats_timer(unsigned long data);
 int nfp_net_bpf_offload(struct nfp_net *nn, struct tc_cls_bpf_offload *cls_bpf);
index 1b26e964657421fe9608b791a204a48b3e0e4b5f..255f30252550902e75d4c14576a015db5883e5d4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Netronome Systems, Inc.
+ * Copyright (C) 2015-2017 Netronome Systems, Inc.
  *
  * This software is dual licensed under the GNU General License Version 2,
  * June 1991 as shown in the file COPYING in the top-level directory of this
@@ -132,9 +132,9 @@ static void nfp_net_get_drvinfo(struct net_device *netdev,
 {
        struct nfp_net *nn = netdev_priv(netdev);
 
-       strlcpy(drvinfo->driver, nfp_net_driver_name, sizeof(drvinfo->driver));
-       strlcpy(drvinfo->version, nfp_net_driver_version,
-               sizeof(drvinfo->version));
+       strlcpy(drvinfo->driver, nn->pdev->driver->name,
+               sizeof(drvinfo->driver));
+       strlcpy(drvinfo->version, nfp_driver_version, sizeof(drvinfo->version));
 
        snprintf(drvinfo->fw_version, sizeof(drvinfo->fw_version),
                 "%d.%d.%d.%d",
index d065235034d484e8e33160eb1cbf8f3b6b5d3a04..5bacc48e6627cca0286329c7a7bb48fdc4b3430e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (C) 2015 Netronome Systems, Inc.
+ * Copyright (C) 2015-2017 Netronome Systems, Inc.
  *
  * This software is dual licensed under the GNU General License Version 2,
  * June 1991 as shown in the file COPYING in the top-level directory of this
@@ -46,8 +46,8 @@
 #include "nfp_net_ctrl.h"
 #include "nfp_net.h"
 
-const char nfp_net_driver_name[] = "nfp_netvf";
-const char nfp_net_driver_version[] = "0.1";
+static const char nfp_net_driver_name[] = "nfp_netvf";
+
 #define PCI_DEVICE_NFP6000VF           0x6003
 static const struct pci_device_id nfp_netvf_pci_device_ids[] = {
        { PCI_VENDOR_ID_NETRONOME, PCI_DEVICE_NFP6000VF,
@@ -315,39 +315,9 @@ static void nfp_netvf_pci_remove(struct pci_dev *pdev)
        pci_disable_device(pdev);
 }
 
-static struct pci_driver nfp_netvf_pci_driver = {
+struct pci_driver nfp_netvf_pci_driver = {
        .name        = nfp_net_driver_name,
        .id_table    = nfp_netvf_pci_device_ids,
        .probe       = nfp_netvf_pci_probe,
        .remove      = nfp_netvf_pci_remove,
 };
-
-static int __init nfp_netvf_init(void)
-{
-       int err;
-
-       pr_info("%s: NFP VF Network driver, Copyright (C) 2014-2015 Netronome Systems\n",
-               nfp_net_driver_name);
-
-       nfp_net_debugfs_create();
-       err = pci_register_driver(&nfp_netvf_pci_driver);
-       if (err) {
-               nfp_net_debugfs_destroy();
-               return err;
-       }
-
-       return 0;
-}
-
-static void __exit nfp_netvf_exit(void)
-{
-       pci_unregister_driver(&nfp_netvf_pci_driver);
-       nfp_net_debugfs_destroy();
-}
-
-module_init(nfp_netvf_init);
-module_exit(nfp_netvf_exit);
-
-MODULE_AUTHOR("Netronome Systems <oss-drivers@netronome.com>");
-MODULE_LICENSE("GPL");
-MODULE_DESCRIPTION("NFP VF network device driver");