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 09D5668DD for ; Thu, 10 Apr 2014 22:49:07 +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 1WYLvk-0004O0-Lw; Thu, 10 Apr 2014 16:50:43 -0400 From: Neil Horman To: dev@dpdk.org Date: Thu, 10 Apr 2014 16:49:55 -0400 Message-Id: <1397163009-29950-5-git-send-email-nhorman@tuxdriver.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1397163009-29950-1-git-send-email-nhorman@tuxdriver.com> References: <1397162846-28912-1-git-send-email-nhorman@tuxdriver.com> <1397163009-29950-1-git-send-email-nhorman@tuxdriver.com> X-Spam-Score: -2.9 (--) X-Spam-Status: No Subject: [dpdk-dev] [PATCH 05/19] ring: convert the ring pmd driver to use the PMD_INIT_NONPCI macro 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: Thu, 10 Apr 2014 20:49:07 -0000 Separate the ring pmd from calls within the core eal library so that it will not be loaded unless needed (or compiled in statically) Note: The demo test application calls directly into the ring pmd driver, and that needs to be cleaned up, so that the -d option is used on the command line to test the proper pmd. for now I've just added linkage to the pmd directly to avoid build breaks and will fix up the application operation in a subsequent patch Signed-off-by: Neil Horman --- app/test/Makefile | 2 ++ lib/librte_eal/common/eal_common_nonpci_devs.c | 10 +--------- lib/librte_pmd_ring/rte_eth_ring.c | 3 +++ mk/rte.app.mk | 4 ---- 4 files changed, 6 insertions(+), 13 deletions(-) diff --git a/app/test/Makefile b/app/test/Makefile index b49785e..978e331 100644 --- a/app/test/Makefile +++ b/app/test/Makefile @@ -36,6 +36,8 @@ include $(RTE_SDK)/mk/rte.vars.mk # APP = test +LDLIBS += -lrte_ring -lrte_pmd_ring + # # all sources are stored in SRCS-y # diff --git a/lib/librte_eal/common/eal_common_nonpci_devs.c b/lib/librte_eal/common/eal_common_nonpci_devs.c index d925b7f..51497fd 100644 --- a/lib/librte_eal/common/eal_common_nonpci_devs.c +++ b/lib/librte_eal/common/eal_common_nonpci_devs.c @@ -34,12 +34,10 @@ #include #include +#include #include #include #include -#ifdef RTE_LIBRTE_PMD_RING -#include -#endif #ifdef RTE_LIBRTE_PMD_XENVIRT #include #endif @@ -56,12 +54,6 @@ struct device_init { #define NUM_DEV_TYPES (sizeof(dev_types)/sizeof(dev_types[0])) struct device_init dev_types[] = { -#ifdef RTE_LIBRTE_PMD_RING - { - .dev_prefix = RTE_ETH_RING_PARAM_NAME, - .init_fn = rte_pmd_ring_init - }, -#endif #ifdef RTE_LIBRTE_PMD_XENVIRT { .dev_prefix = RTE_ETH_XENVIRT_PARAM_NAME, diff --git a/lib/librte_pmd_ring/rte_eth_ring.c b/lib/librte_pmd_ring/rte_eth_ring.c index 24635f3..9fec098 100644 --- a/lib/librte_pmd_ring/rte_eth_ring.c +++ b/lib/librte_pmd_ring/rte_eth_ring.c @@ -37,6 +37,7 @@ #include #include #include +#include struct ring_queue { struct rte_ring *rng; @@ -395,3 +396,5 @@ rte_pmd_ring_init(const char *name, const char *params) } return 0; } + +PMD_INIT_NONPCI(rte_pmd_ring_init, RTE_ETH_RING_PARAM_NAME); diff --git a/mk/rte.app.mk b/mk/rte.app.mk index 072718a..cf8b942 100644 --- a/mk/rte.app.mk +++ b/mk/rte.app.mk @@ -133,10 +133,6 @@ ifeq ($(CONFIG_RTE_LIBRTE_ETHER),y) LDLIBS += -lethdev endif -ifeq ($(CONFIG_RTE_LIBRTE_PMD_RING),y) -LDLIBS += -lrte_pmd_ring -endif - ifeq ($(CONFIG_RTE_LIBRTE_MALLOC),y) LDLIBS += -lrte_malloc endif -- 1.8.3.1