From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Monjalon Subject: Re: [PATCH 09/11] eal: move PCI table macro Date: Thu, 07 Jul 2016 18:25:43 +0200 Message-ID: <4984337.X4DjHj7U46@xps13> References: <1467905790-10597-1-git-send-email-thomas.monjalon@6wind.com> <1467905790-10597-10-git-send-email-thomas.monjalon@6wind.com> <20160707161141.GH26064@hmsreliant.think-freely.org> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7Bit Cc: dev@dpdk.org, david.marchand@6wind.com To: Neil Horman Return-path: Received: from mail-wm0-f50.google.com (mail-wm0-f50.google.com [74.125.82.50]) by dpdk.org (Postfix) with ESMTP id CA92E5477 for ; Thu, 7 Jul 2016 18:25:44 +0200 (CEST) Received: by mail-wm0-f50.google.com with SMTP id f126so217276765wma.1 for ; Thu, 07 Jul 2016 09:25:44 -0700 (PDT) In-Reply-To: <20160707161141.GH26064@hmsreliant.think-freely.org> List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org Sender: "dev" 2016-07-07 12:11, Neil Horman: > On Thu, Jul 07, 2016 at 05:36:28PM +0200, Thomas Monjalon wrote: > > Remove include of rte_pci.h in the generic header rte_dev.h > > and move the macro DRIVER_REGISTER_PCI_TABLE in rte_pci.h. [...] > > --- a/lib/librte_eal/common/include/rte_dev.h > > +++ b/lib/librte_eal/common/include/rte_dev.h > > @@ -48,7 +48,7 @@ extern "C" { > > > > #include > > #include > > -#include > > + > > #include > > > > __attribute__((format(printf, 2, 0))) > > @@ -195,10 +195,6 @@ DRIVER_EXPORT_NAME(nm, __COUNTER__) > > > > #define DRV_EXP_TAG(name, tag) __##name##_##tag > > > > -#define DRIVER_REGISTER_PCI_TABLE(name, table) \ > > -static const char DRV_EXP_TAG(name, pci_tbl_export)[] __attribute__((used)) = \ > > -RTE_STR(table) > > - > > #define DRIVER_REGISTER_PARAM_STRING(name, str) \ > > static const char DRV_EXP_TAG(name, param_string_export)[] \ > > __attribute__((used)) = str > > diff --git a/lib/librte_eal/common/include/rte_pci.h b/lib/librte_eal/common/include/rte_pci.h > > index fa74962..3b0d26a 100644 > > --- a/lib/librte_eal/common/include/rte_pci.h > > +++ b/lib/librte_eal/common/include/rte_pci.h > > @@ -188,6 +188,11 @@ struct rte_pci_device { > > .subsystem_device_id = PCI_ANY_ID > > #endif > > > > +#define DRIVER_REGISTER_PCI_TABLE(name, table) \ > > +static const char __##name##_pci_tbl_export[] \ > > + __attribute__((used)) = \ > > + RTE_STR(table) > > + > > This seems strange to me, in that its odd for the driver information export > macros to be spread out in multiple locations. Specifically it enjoins the use > of the DRV_EXP_TAG macro, which helps centralize tag naming. Perhaps the happy > medium is to place all the export macros (includnig PMD_REGISTER_DRIVER) into > its own pmd_register.h header? I don't know. David, your opinion?