From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from smtp.tuxdriver.com (charlotte.tuxdriver.com [70.61.120.58]) by dpdk.org (Postfix) with ESMTP id D5F77B0B8 for ; Tue, 15 Apr 2014 20:07:09 +0200 (CEST) Received: from hmsreliant.think-freely.org ([2001:470:8:a08:7aac:c0ff:fec2:933b] helo=localhost) by smtp.tuxdriver.com with esmtpsa (TLSv1:AES128-SHA:128) (Exim 4.63) (envelope-from ) id 1Wa7lD-00030Y-Tk; Tue, 15 Apr 2014 14:07:09 -0400 From: Neil Horman To: dev@dpdk.org Date: Tue, 15 Apr 2014 14:06:03 -0400 Message-Id: <1397585169-14537-10-git-send-email-nhorman@tuxdriver.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1397585169-14537-1-git-send-email-nhorman@tuxdriver.com> References: <1397585169-14537-1-git-send-email-nhorman@tuxdriver.com> X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: [dpdk-dev] [PATCH 09/15] igbvf: Convert to use of PMD_REGISTER_DRIVER and fix linking X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 Apr 2014 18:07:10 -0000 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