Re: C99 Initialisers

From: Matthew Wilcox
Date: Wed Aug 13 2003 - 15:01:31 EST


On Wed, Aug 13, 2003 at 03:44:44PM -0400, Jeff Garzik wrote:
> enums are easy putting direct references would be annoying, but I also
> argue it's potentially broken and wrong to store and export that
> information publicly anyway. The use of enums instead of pointers is
> practically required because there is a many-to-one relationship of ids
> to board information structs.

The hard part is that it's actually many-to-many. The same card can have
multiple drivers. one driver can support many cards.

Let me give you a true story that your solution needs to address.
I recently got myself a Compaq Evo with an eepro100 onboard. So I took
my Debian 3.0 CD and tried to install on it. Failed because the eepro
on the board had PCI IDs that were more recent than the driver.

So I took the driver module, put it on a floppy, hand-edited the binary
to replace one of the PCI IDs with the ones that came back from lspci.
Stuck the floppy back in the Evo, loaded the hacked module and finished
the install. Then compiled a new kernel ;-)

I haven't seen anything to address this in a nicer way yet.

--
"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/