Move teh vmxnet3 pmd to use the PMD_INIT macro Signed-off-by: Neil Horman <nhorman at tuxdriver.com> --- lib/librte_ether/rte_ethdev.c | 13 ------------- lib/librte_ether/rte_ethdev.h | 10 ---------- lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c | 5 ++++- mk/rte.app.mk | 3 +-- 4 files changed, 5 insertions(+), 26 deletions(-)
diff --git a/lib/librte_ether/rte_ethdev.c b/lib/librte_ether/rte_ethdev.c index 8a3bbd1..0b4888c 100644 --- a/lib/librte_ether/rte_ethdev.c +++ b/lib/librte_ether/rte_ethdev.c @@ -146,25 +146,12 @@ int rte_pmd_init_all(void) int ret = -ENODEV; struct pmd_entry *entry; -#ifdef RTE_LIBRTE_VMXNET3_PMD - if ((ret = rte_vmxnet3_pmd_init()) != 0) { - RTE_LOG(ERR, PMD, "Cannot init vmxnet3 PMD\n"); - return (ret); - } -#endif /* RTE_LIBRTE_VMXNET3_PMD */ - - if (ret == -ENODEV) { - RTE_LOG(ERR, PMD, "No PMD(s) are configured\n"); - goto out; - } - TAILQ_FOREACH(entry, &pmd_init_list, next) { ret = entry->pmd_initfn(); if (ret != 0) break; } -out: return ret; } diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index 4c57864..0b38df2 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1316,16 +1316,6 @@ struct eth_driver { extern void rte_eth_driver_register(struct eth_driver *eth_drv); /** - * The initialization function of the driver for VMware VMXNET3 - * Ethernet devices. - * Invoked once at EAL start time. - * @return - * 0 on success - */ -extern int rte_vmxnet3_pmd_init(void); - - -/** * The initialization function of *all* supported and enabled drivers. * Right now, the following PMDs are supported: * - igb diff --git a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c index 8259cfe..ce649a4 100644 --- a/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c +++ b/lib/librte_pmd_vmxnet3/vmxnet3_ethdev.c @@ -60,6 +60,7 @@ #include <rte_atomic.h> #include <rte_string_fns.h> #include <rte_malloc.h> +#include <rte_pmd.h> #include "vmxnet3/vmxnet3_defs.h" @@ -278,7 +279,7 @@ static struct eth_driver rte_vmxnet3_pmd = { * Invoked once at EAL init time. * Register itself as the [Poll Mode] Driver of Virtual PCI VMXNET3 devices. */ -int +static int rte_vmxnet3_pmd_init(void) { PMD_INIT_FUNC_TRACE(); @@ -763,3 +764,5 @@ vmxnet3_process_events(struct vmxnet3_hw *hw) } #endif + +PMD_INIT(rte_vmxnet3_pmd_init); diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 2aa71e4..15dbf2e 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -87,12 +87,11 @@ endif ifeq ($(CONFIG_RTE_LIBRTE_VIRTIO_PMD),y) LDLIBS += -lrte_pmd_virtio_uio endif -endif - ifeq ($(CONFIG_RTE_LIBRTE_VMXNET3_PMD),y) LDLIBS += -lrte_pmd_vmxnet3_uio endif +endif ifeq ($(CONFIG_RTE_LIBRTE_TIMER),y) LDLIBS += -lrte_timer -- 1.8.3.1