lkml.org 
[lkml]   [1999]   [Dec]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [linux-usb] Re: [patch] drivers/usb/usb.c: auto loading of USB bus driver
Date
On Tue, 21 Dec 1999 23:56:52 +0000 (GMT), 
Riley Williams <rhw@MemAlpha.CX> wrote:
>Somebody wrote
> > I can now see the problem with post-install rules, but I still
> > find magic module aliases icky. One thing that crossed my mind
> > was to make rmmod -a a bit smarter: if it notices that a module
> > that sits above another (i.e. specified with the 'above' keyword
> > in modules.conf) disappears, it could try to remove the lower
> > module. But then that requires that everyone move to a version
> > of modutils that (a) supports the 'above' keyword and (b) is
> > smart about removing modules like that.
>
>Surely a better option would be to have rmmod remove modules in
>sequence, and not consider any module until it has already considered
>all modules that module is used by. That would implicitly result in
>the removal of the whole chain of modules rather than just the one at
>the top as currently appears to be the case.

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/

\
 
 \ /
  Last update: 2005-03-22 13:55    [W:0.058 / U:0.212 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site