[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20061124035939.GA27820@kroah.com>
Date: Thu, 23 Nov 2006 19:59:39 -0800
From: Greg KH <greg@...ah.com>
To: Kay Sievers <kay.sievers@...y.org>
Cc: Ben Collins <ben.collins@...ntu.com>,
Nicholas Miell <nmiell@...cast.net>,
linux-kernel@...r.kernel.org
Subject: Re: [RFC] Pushing device/driver binding decisions to userspace
On Thu, Nov 23, 2006 at 12:40:04PM +0100, Kay Sievers wrote:
> On 11/23/06, Greg KH <greg@...ah.com> wrote:
> >On Sun, Nov 12, 2006 at 09:22:44PM -0800, Ben Collins wrote:
> >> On Sun, 2006-11-12 at 17:47 -0800, Nicholas Miell wrote:
> >> > On Sun, 2006-11-12 at 17:24 -0800, Ben Collins wrote:
> >> > > On Sun, 2006-11-12 at 16:49 -0800, Nicholas Miell wrote:
> >> > > > On Sun, 2006-11-12 at 15:39 -0800, Ben Collins wrote:
> >> > > >
> >> > > > What's wrong with making udev or whatever unbind driver A and then
> >bind
> >> > > > driver B if the driver bound by the kernel ends up being the wrong
> >> > > > choice? (Besides the inelegance of the kernel choosing one and then
> >> > > > userspace immediately choosing the other, of course.)
> >> > > >
> >> > > > I'd argue that having multiple drivers for the same hardware is a
> >bit
> >> > > > strange to begin with, but that's another issue entirely.
> >> > >
> >> > > If two drivers are loaded for the same device, there's no way for
> >udev
> >> > > to tell the kernel which driver to use for a device, that I know of.
> >> >
> >> > /sys/bus/*/drivers/*/{bind,unbind}
> >>
> >> "bind" does not tell the driver core to "bind this device with this
> >> driver", it tells it to "bind this driver to whatever devices we match
> >> that aren't already bound".
> >
> >No it does not, it tells the driver core to "bind this device with this
> >driver, _if_ the driver will accept it".
> >
> >> That doesn't solve my use case.
> >
> >Yes it does:
> > echo -n BUS_ID > /sys/bus/foo_bus/drivers/foo_driver/unbind
> > echo -n BUS_ID > /sys/bus/foo_bus/drivers/baz_driver/bind
> >
> >and you are set. That's the way other distros use this functionality :)
>
> Right, I currently port that part of SUSE's sysconfig's per-device
> configuration to udev, and udev-rules will be able to specify what
> driver to use for a device, including driver-unbinding/binding.
>
> Also modprobe will be built into udev to solve the
> performance-problems we see with parsing the modprobe-files for every
> device with a modalias.
Nice, that will make things even faster at boot time.
thanks,
greg k-h
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists