[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ac3eb2510911240053n593317b0qe60043988d89810f@mail.gmail.com>
Date: Tue, 24 Nov 2009 09:53:51 +0100
From: Kay Sievers <kay.sievers@...y.org>
To: Rusty Russell <rusty@...tcorp.com.au>
Cc: Takashi Iwai <tiwai@...e.de>,
Ondrej Zary <linux@...nbow-software.org>,
linux-kernel@...r.kernel.org,
Jon Masters <jonathan@...masters.org>,
Jaroslav Kysela <perex@...ex.cz>, Greg KH <gregkh@...e.de>
Subject: Re: MODULE_DEVICE_TABLE(isapnp, ...) does nothing
On Mon, Nov 23, 2009 at 22:51, Rusty Russell <rusty@...tcorp.com.au> wrote:
> On Mon, 23 Nov 2009 07:10:22 pm Takashi Iwai wrote:
>> At Mon, 23 Nov 2009 13:59:53 +1030, Rusty Russell wrote:
>> > Two things are required:
>> > 1) Modify file2alias to add aliases for isapnp. This is pretty easy.
>> > 2) Expose the isapnp devices in sysfs where udev will match them up
>> > (/sys/bus/isa/devices/<dev>/modalias I guess?)
>>
>> There is non-pnp ISA bus, so I'm afraid "isa" may conflict.
>> I suppose "isapnp" would be a safer choice.
>
> Without pnp, I don't think you can enumerate the ISA bus. Hence I chose
> "isa:" in the hope that udev would "just work" if isapnp created the
> modalias under /sys/bus/isa...
>
> But Kay says there's a pnp bus (who knew?). I don't know what he means
> by unfixable aliases tho, since it's all in the kernel source so we can
> change it at any time?
Here's a bit of the background:
The aliases in the modules can only match a single value, but PNP
devices often have vendor specific IDs and usual IDs describing the
function.
Like here, where the interesting ID is only the second one of the two
for a single device:
$ grep . /sys/bus/pnp/devices/*/id
/sys/bus/pnp/devices/00:09/id:LEN0006
/sys/bus/pnp/devices/00:09/id:PNP0f13
So the kernel device would need to compose a "modalias" string with
all IDs in a single line. But the in-module aliases can unfortunately
match only on a single value, like:
alias pnp:dPNP0700* floppy
For that reason, a while ago udev switched to acpi aliases entirely,
and dropped all pnp: usage. The acpi aliases can handle multi-values
just fine with single strings like:
$ cat /sys/bus/acpi/devices/LEN0006:00/modalias
acpi:LEN0006:PNP0F13:
alias acpi*:PNP0700:* floppy
Udev does not use any pnp: or /sys/bus/pnp/ values since a while. But
there might be still distros who use the (broken) pnp: aliases and
ship the (also broken) shell scripts to iterate over the sysfs devices
and call modprobe for all they find.
Thanks,
Kay
--
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