lkml.org 
[lkml]   [2003]   [Aug]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: C99 Initialisers
From
Date
>>>>> "GKH" == Greg KH <greg@kroah.com> writes:

GKH> How about this patch? If you like it I'll add the pci.h change to the
GKH> tree and let you take the tg3.c part.

Two comments:

GKH> ...
GKH> + { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5704S) },
GKH> + { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5702A3) },
GKH> + { PCI_DEVICE(PCI_VENDOR_ID_BROADCOM, PCI_DEVICE_ID_TIGON3_5703A3) },
GKH> ...

GKH> +#define PCI_DEVICE(vend,dev) \
GKH> + .vendor = (vend), .device = (dev), \
GKH> + .subvendor = PCI_ANY_ID, .subdevice = PCI_ANY_ID

(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)

(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) },
...


PCI_DEVICE_ID_xxx definitions for some devices that
currently lack them need to be added, of course,
e.g. SYSKONNECT 0x4400.

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

\
 
 \ /
  Last update: 2005-03-22 13:47    [W:0.027 / U:0.068 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site