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.
 
 
 # Makefile for the Netronome network device drivers
 #
 
-obj-$(CONFIG_NFP_NETVF) += nfp/
+obj-$(CONFIG_NFP) += nfp/
 
-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
 
--- /dev/null
+/*
+ * 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.");
 
--- /dev/null
+/*
+ * 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 */
 
 /*
- * 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
 }
 
 /* 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,
 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);
 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);
 
 /*
- * 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
 {
        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",
 
 /*
- * 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
 #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,
        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");