[dpdk-dev] [PATCH 09/11] eal: move PCI table macro
Neil Horman
nhorman at tuxdriver.com
Thu Jul 7 18:11:41 CEST 2016
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.
>
> Fixes: cb6696d22023 ("drivers: update registration macro usage")
>
> Signed-off-by: Thomas Monjalon <thomas.monjalon at 6wind.com>
> ---
> lib/librte_eal/common/include/rte_dev.h | 6 +-----
> lib/librte_eal/common/include/rte_pci.h | 5 +++++
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/lib/librte_eal/common/include/rte_dev.h b/lib/librte_eal/common/include/rte_dev.h
> index e6f0d4c..68ca7ef 100644
> --- 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)
> +
> struct rte_pci_driver;
>
> /**
> --
> 2.7.0
>
>
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?
More information about the dev
mailing list