From mboxrd@z Thu Jan 1 00:00:00 1970 From: Neil Horman Subject: [PATCH 09/15] igbvf: Convert to use of PMD_REGISTER_DRIVER and fix linking Date: Tue, 15 Apr 2014 14:06:03 -0400 Message-ID: <1397585169-14537-10-git-send-email-nhorman@tuxdriver.com> References: <1397585169-14537-1-git-send-email-nhorman@tuxdriver.com> To: dev-VfR2kkLFssw@public.gmane.org Return-path: In-Reply-To: <1397585169-14537-1-git-send-email-nhorman-2XuSBdqkA4R54TAoqtyWWQ@public.gmane.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" convert the igbvf pmd driver to use the PMD_REGISTER_DRIVER macro. This means that the test applications now have no reference to the igbvf library when building DSO's and must specify its use on the command line with the -d option. Static linking will still initalize the driver automatically. Signed-off-by: Neil Horman --- lib/librte_ether/rte_ethdev.h | 16 ---------------- lib/librte_pmd_e1000/igb_ethdev.c | 10 ++++++++-- 2 files changed, 8 insertions(+), 18 deletions(-) diff --git a/lib/librte_ether/rte_ethdev.h b/lib/librte_ether/rte_ethdev.h index e50ed48..d13cc4f 100644 --- a/lib/librte_ether/rte_ethdev.h +++ b/lib/librte_ether/rte_ethdev.h @@ -1325,15 +1325,6 @@ extern void rte_eth_driver_register(struct eth_driver *eth_drv); extern int rte_em_pmd_init(void); /** - * The initialization function of the driver for 1Gbps Intel IGB_VF - * Ethernet devices. - * Invoked once at EAL start time. - * @return - * 0 on success - */ -extern int rte_igbvf_pmd_init(void); - -/** * The initialization function of the driver for 10Gbps Intel IXGBE * Ethernet devices. * Invoked once at EAL start time. @@ -1392,13 +1383,6 @@ int rte_pmd_init_all(void) { int ret = -ENODEV; -#ifdef RTE_LIBRTE_IGB_PMD - if ((ret = rte_igbvf_pmd_init()) != 0) { - RTE_LOG(ERR, PMD, "Cannot init igbvf PMD\n"); - return (ret); - } -#endif /* RTE_LIBRTE_IGB_PMD */ - #ifdef RTE_LIBRTE_EM_PMD if ((ret = rte_em_pmd_init()) != 0) { RTE_LOG(ERR, PMD, "Cannot init em PMD\n"); diff --git a/lib/librte_pmd_e1000/igb_ethdev.c b/lib/librte_pmd_e1000/igb_ethdev.c index 246474d..5cf14c2 100644 --- a/lib/librte_pmd_e1000/igb_ethdev.c +++ b/lib/librte_pmd_e1000/igb_ethdev.c @@ -644,8 +644,8 @@ igb_vmdq_vlan_hw_filter_enable(struct rte_eth_dev *dev) * Invoked one at EAL init time. * Register itself as the [Virtual Poll Mode] Driver of PCI IGB devices. */ -int -rte_igbvf_pmd_init(void) +static int +rte_igbvf_pmd_init(const char *name __rte_unused, const char *params __rte_unused) { DEBUGFUNC("rte_igbvf_pmd_init"); @@ -2190,4 +2190,10 @@ static struct rte_driver pmd_igb_drv = { .init = rte_igb_pmd_init, }; +static struct rte_driver pmd_igbvf_drv = { + .type = PMD_PDEV, + .init = rte_igbvf_pmd_init, +}; + PMD_REGISTER_DRIVER(pmd_igb_drv); +PMD_REGISTER_DRIVER(pmd_igbvf_drv); -- 1.8.3.1