Re: C99 Initialisers

From: Matthew Wilcox
Date: Tue Aug 12 2003 - 06:32:24 EST


On Mon, Aug 11, 2003 at 10:38:27PM -0700, Greg KH wrote:
> On Tue, Aug 12, 2003 at 03:39:36AM +0100, Matthew Wilcox wrote:
> > I don't think anyone would appreciate you converting that to:
> >
> > static struct pci_device_id tg3_pci_tbl[] __devinitdata = {
> > {
> > .vendor = PCI_VENDOR_ID_BROADCOM,
> > .device = PCI_DEVICE_ID_TIGON3_5700,
> > .subvendor = PCI_ANY_ID,
> > .subdevice = PCI_ANY_ID,
> > .class = 0,
> > .class_mask = 0,
> > .driver_data = 0,
> > },
>
> I sure would. Oh, you can drop the .class, .class_mask, and
> .driver_data lines, and then it even looks cleaner.
>
> I would love to see that kind of change made for pci drivers.

I really strongly disagree. For a struct that's as well-known as
pci_device_id, the argument of making it clearer doesn't make sense.
It's also not subject to change, unlike say file_operations, so the
argument of adding new elements without breaking anything is also not
relevant.

In tg3, the table definition is already 32 lines long with 2 lines per
device_id. In the scheme you favour so much, that becomes 92 lines, for
no real gain that I can see.

--
"It's not Hollywood. War is real, war is primarily not about defeat or
victory, it is about death. I've seen thousands and thousands of dead bodies.
Do you think I want to have an academic debate on this subject?" -- Robert Fisk
-
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/