PCI modules problem

Mark D. Studebaker mds at paradyne.com
Tue Jul 1 03:23:35 CEST 2003

I figured out why i2c-voodoo3 and i2c-viapro weren't loading for me on some machines.

The kernel PCI module init code
(pci_module_init() in pci.h, then pci_register_driver() and pci_dev_driver() in pci.c)
allows only one driver registration per PCI device. If another driver gets in there
first we won't load.

This is a big problem for drivers on multi-purpose PCI devices. Especially on our
i2c bit-bangers for video chips, where we only use a couple of registers,
and we have to coexist with video drivers.

Do we have any choice but to back out some of the pci_module_init cleanup?
Perhaps we need to go through each PCI driver and assess whether the PCI
device it attaches to is "single-function"?

Is there any easy way around this???

More information about the lm-sensors mailing list