[dpdk-dev] [PATCH 09/11] eal: move PCI table macro

Thomas Monjalon thomas.monjalon at 6wind.com
Thu Jul 7 18:25:43 CEST 2016


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 <stdio.h>
> >  #include <sys/queue.h>
> > -#include <rte_pci.h>
> > +
> >  #include <rte_log.h>
> >  
> >  __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?


More information about the dev mailing list