[PATCH 0/25] Replace DEFINE_PCI_DEVICE_TABLE macro use
James Bottomley
James.Bottomley at HansenPartnership.com
Fri Jul 18 09:54:32 PDT 2014
On Fri, 2014-07-18 at 09:43 -0700, Greg KH wrote:
> On Fri, Jul 18, 2014 at 12:22:13PM -0400, John W. Linville wrote:
> > On Fri, Jul 18, 2014 at 05:26:47PM +0200, Benoit Taine wrote:
> > > We should prefer `const struct pci_device_id` over
> > > `DEFINE_PCI_DEVICE_TABLE` to meet kernel coding style guidelines.
> > > This issue was reported by checkpatch.
> >
> > Honestly, I prefer the macro -- it stands-out more. Maybe the style
> > guidelines and/or checkpatch should change instead?
>
> The macro is horrid, no other bus has this type of thing just to save a
> few characters in typing
OK, so this is the macro:
#define DEFINE_PCI_DEVICE_TABLE(_table) \
const struct pci_device_id _table[]
Could you explain what's so horrible?
The reason it's useful today is that people forget the const (and
sometimes the [] making it a true table instead of a pointer). If you
use the DEFINE_PCI_DEVICE_TABLE macro, the compile breaks if you use it
wrongly (good) and you automatically get the correct annotations.
> , so why should PCI be "special" in this regard
> anymore?
I think the PCI usage dwarfs most other bus types now, so you could turn
the question around. However, I don't think majority voting is a good
guide to best practise; lets debate the merits for their own sake.
James
More information about the linux-pcmcia
mailing list