Re: [PATCH] Add PCI_DEVICE_TABLE macro

From: Jonas Bonn
Date: Sun Feb 17 2008 - 07:13:38 EST


I'm a bit uncertain whether the definition really should include the
'static' modifier... for most definitions of these tables this is ok,
but there are a couple of cases where it should not be static, so the
line would need to be open-coded again...

/Jonas

On Sun, 2008-02-17 at 13:10 +0100, Jonas Bonn wrote:
> The definitions of struct pci_device_id arrays should generally follow
> the same pattern across the entire kernel. This macro defines this
> array as static const and puts it into the __devinitconst section.
>
> Signed-off-by: Jonas Bonn <jonas@xxxxxxxxxxxx>
> ---
> include/linux/pci.h | 8 ++++++++
> 1 files changed, 8 insertions(+), 0 deletions(-)
>
> diff --git a/include/linux/pci.h b/include/linux/pci.h
> index 87195b6..487d31c 100644
> --- a/include/linux/pci.h
> +++ b/include/linux/pci.h
> @@ -389,6 +389,14 @@ struct pci_driver {
> #define to_pci_driver(drv) container_of(drv, struct pci_driver, driver)
>
> /**
> + * PCI_DEVICE_TABLE - macro used to describe a pci device table
> + *
> + * This macro is used to create a struct pci_device_id array in a generic
> + * manner.
> + */
> +#define PCI_DEVICE_TABLE(_table) static const struct pci_device_id _table[] __devinitconst
> +
> +/**
> * PCI_DEVICE - macro used to describe a specific pci device
> * @vend: the 16 bit PCI Vendor ID
> * @dev: the 16 bit PCI Device ID

Attachment: signature.asc
Description: This is a digitally signed message part