Re: Why to I2c drivers not autoload like other PCI devices?

From: Greg KH
Date: Thu Jan 04 2007 - 00:52:50 EST


On Wed, Jan 03, 2007 at 05:29:16PM -0800, Stephen Hemminger wrote:
> On Wed, 3 Jan 2007 16:56:00 -0800
> Greg KH <greg@xxxxxxxxx> wrote:
>
> > On Wed, Jan 03, 2007 at 04:50:20PM -0800, Stephen Hemminger wrote:
> > > Is there some missing magic (udev rule?) that keeps i2c device modules
> > > from loading? For example: the Intel i2c-i801 module ought to get loaded
> > > automatically on boot up since it has a set of PCI id's that generate
> > > the necessary module aliases. It would be better if I2C device's autoloaded
> > > like other PCI devices.
> >
> > No, it should autoload, if it has a MODULE_DEVICE_TABLE() in it. In
> > fact, the i2c-i801 autoloads on one of my machines just fine. Are you
> > sure your pci ids match properly?
> >
> > thanks,
> >
> > greg k-h
>
> This laptop is running Ubuntu Edgy (6.10) and it doesn't autoload.
> Everything works fine if I manually load the module with modprobe.
>
> This device should match:
>
> 00:1f.3 SMBus: Intel Corporation 82801G (ICH7 Family) SMBus Controller (rev 02)
> 00: 86 80 da 27 01 00 80 02 02 00 05 0c 00 00 00 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: a1 18 00 00 00 00 00 00 00 00 00 00 cf 10 88 13
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 0b 02 00 00
>
> This driver modinfo:
>
> filename: /lib/modules/2.6.20-rc3/kernel/drivers/i2c/busses/i2c-i801.ko

What does:
modprobe --show-depends `cat /sys/bus/pci/0000:00:1f.3/modalias`
show?

Is it different from:
modprobe --config /dev/null --show-depends `cat /sys/bus/pci/0000:00:1f.3/modalias`
?

> author: Frodo Looijaard <frodol@xxxxxx>, Philip Edelbrock <phil@xxxxxxxxxxxxx>, and Mark D. Studebaker <mdsxyz123@xxxxxxxxx>
> description: I801 SMBus driver
> license: GPL
> vermagic: 2.6.20-rc3 mod_unload PENTIUMM 4KSTACKS
> depends: i2c-core
> alias: pci:v00008086d00002413sv*sd*bc*sc*i*
> alias: pci:v00008086d00002423sv*sd*bc*sc*i*
> alias: pci:v00008086d00002443sv*sd*bc*sc*i*
> alias: pci:v00008086d00002483sv*sd*bc*sc*i*
> alias: pci:v00008086d000024C3sv*sd*bc*sc*i*
> alias: pci:v00008086d000024D3sv*sd*bc*sc*i*
> alias: pci:v00008086d000025A4sv*sd*bc*sc*i*
> alias: pci:v00008086d0000266Asv*sd*bc*sc*i*
> alias: pci:v00008086d000027DAsv*sd*bc*sc*i* <------- should match

Yeah, I would think so. What does:
cat /sys/bus/pci/0000:00:1f.3/modalias
show?

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/