Re: C99 Initialisers

From: Greg KH
Date: Wed Aug 13 2003 - 17:22:17 EST


On Wed, Aug 13, 2003 at 02:19:36PM -0700, junkio@xxxxxxx wrote:
> (1) If .subvendor and .subdevice are always PCI_ANY_ID, are
> there any reason to keep them in the structure in the first
> place? I imagine there are some devices but not in the
> tg3_pci_tbl list that need to have different values there,
> but if that is the case we may want to generalize the macro
> PCI_DEVICE like this:
>
> #define PCI_DEVICE(vend, dev) \
> PCI_DEVICE_WITH_SUB(vend, dev, PCI_ANY_ID, PCI_ANY_ID)
> #define PCI_DEVICE_WITH_SUB(vend, dev, subv, subd) \
> .vendor = (vend), \
> .device = (dev), \
> .subvendor = (subv), \
> .subdevice = (subd)

Patches always are gladly accepted :)

> (2) PCI_VENDOR_ID_ and PCI_DEVICE_ID_ seem to be common prefix,
> so how about doing something like this?
>
> #define PCI_DEVICE(vend,dev) \
> .vendor = (PCI_VENDOR_ID_ ## vend), \
> .device = (PCI_DEVICE_ID_ ## dev), \
> .subvendor = PCI_ANY_ID, \
> .subdevice = PCI_ANY_ID
>
> Then the table becomes much shorter:
>
> static struct pci_device_id tg3_pci_tbl[] = {
> ...
> { PCI_DEVICE(BROADCOM, TIGON3_5700) },
> { PCI_DEVICE(BROADCOM, TIGON3_5701) },
> ...

As has been responded before, this isn't a good idea right now.

thanks,

greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/