insmod builds a dependency chain and rmmod honours that chain when
removing modules. It has done this since day 1. But only if there is
an explicit reference from one module to another.
The problem with usb (as I understand it, and it would be nice if one
of the usb developers explicitly defined the problem) is there is no
direct reference to usb-uhci, or whatever usb bus type is being used.
So we have to fall back on module aliases or manual entries in
modules.conf to get the bus module loaded.
One possibility is to add these lines to modules.conf[1].
below usb-scsi usb-bus
below usb-mouse usb-bus
below usb-xyz usb-bus
add probeall usb-bus usb-uhci
add probeall usb-bus usb-someother-busa
add probeall usb-bus usb-yet-another-bus
That automatically probes for all the different bus types whenever a
usb module is loaded. At the moment, the above and below commands do
not create a dependency chain but modutils can be changed to do that.
IMHO above and below should create dependencies by default, with an
option not to create the dependency.
[1] One problem with modules.conf is keeping it up to date with the
kernel. What about /proc/sys/modules.conf where kernel code can
register its own special requirements? modprobe reads
/proc/sys/modules.conf/first then /etc/modules.conf then
/proc/sys/modules.conf/last to build its database.
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/