From: Anssi Hannula <anssi.hannula@gmail.com>
To: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: linux-kernel@vger.kernel.org,
Dmitry Torokhov <dtor@insightbb.com>,
linux-input@atrey.karlin.mff.cuni.cz,
linux-hotplug-devel@lists.sourceforge.net
Subject: Re: sysfs change of input/event devices in 2.6.23rc breaks udev
Date: Sat, 08 Sep 2007 19:38:39 +0000 [thread overview]
Message-ID: <46E2FA3F.7050000@gmail.com> (raw)
In-Reply-To: <20070908182928.5AEAA402B15@smtp03.mtu.ru>
Andrey Borzenkov wrote:
> Anssi Hannula wrote:
>
>> Hi!
>>
>> There seem to be changes in sysfs input structure between 2.6.22 and
>> 2.6.23-rc5 which cause some breakage.
>>
[...]
>> There is no longer:
>> /sys/class/input/eventX => /sys/class/input/inputX/eventX
>> instead there is:
>> /sys/class/inputX/input:eventX => /sys/class/input/eventX
>> Notice the added "input:". I don't know if any software depends on this,
>> though.
>>
>> However, the change that broke id_path of udev is that
>> /sys/class/input/event5/device is now a symlink to the inputX directory
>> instead of being the same as the device symlink in inputX directory,
>> i.e. to ../../../devices/platform/pcspkr in this case.
>>
>> Udev id_path uses that directory to construct the ID_PATH variable.
>> Should the sysfs structure be reverted or should udev be adapted to
>> handle traversing /device symlink twice? I think the former, as there
>> should be considerably more time to adapt udev for coming changes in
>> sysfs.
>>
>
> I am using 2.6.23-rc5 in current cooker
Same kernel here, but on an older system (MDV2007.1). I tested with a
path_id from a recent udev as well, though, but the problem was there as
well.
> and I did not notice any breakage;
> could you please show example of wrong path? E.g. I have
>
> {pts/0}% LC_ALL=C ll /dev/input/by-path
> total 0
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-0-event-kbd -> ../event0
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-1-event-mouse -> ../event1
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-1-mouse -> ../mouse0
>
> and it looks pretty sane for me.
I don't have anything under /dev/input/by-path as the lookup in path_id
fails.
> Oh, and I do not have CONFIG_SYSFS_DEPRECATED which probably explains why it
> works for me :)
Probably.
> {pts/0}% LC_ALL=C ll /sys/class/input/input2/
> total 0
> drwxr-xr-x 2 root root 0 Sep 8 22:25 capabilities/
> drwxr-xr-x 3 root root 0 Sep 8 22:22 event2/
> drwxr-xr-x 2 root root 0 Sep 8 22:25 id/
> -r--r--r-- 1 root root 4096 Sep 8 22:25 modalias
> -r--r--r-- 1 root root 4096 Sep 8 22:25 name
> -r--r--r-- 1 root root 4096 Sep 8 22:25 phys
> drwxr-xr-x 2 root root 0 Sep 8 22:25 power/
> lrwxrwxrwx 1 root root 0 Sep 8 22:25
> subsystem -> ../../../../class/input/
> -rw-r--r-- 1 root root 4096 Sep 8 22:25 uevent
> -r--r--r-- 1 root root 4096 Sep 8 22:25 uniq
What does this print as devpath for you:
$ udevinfo -q all --name=input/event0
For me on 2.6.23rc5 it prints:
P: /class/input/event0
and on 2.6.22:
P: /class/input/input0/event0
Both are detected as "old sysfs layout" by path_id, but only on 2.6.22
is there a /device symlink pointing to the expected location.
I suspect it prints something like /devices/xyz for you, right?
That seems to be detected as "new sysfs layout" by path_id and handled
differently.
> this implies that SYSFS_DEPRECATED may be broken w.r.t. udev; OTOH it *is*
> deprecated, is not it?
Indeed, at least regarding input subsystem, for which there was a recent
switchover [1] from class_device.
[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h–57d75c5f0f7d0a9cb507521d3ad1436aea28c9
--
Anssi Hannula
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Linux-hotplug-devel mailing list http://linux-hotplug.sourceforge.net
Linux-hotplug-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/linux-hotplug-devel
WARNING: multiple messages have this Message-ID (diff)
From: Anssi Hannula <anssi.hannula@gmail.com>
To: Andrey Borzenkov <arvidjaar@mail.ru>
Cc: linux-kernel@vger.kernel.org,
Dmitry Torokhov <dtor@insightbb.com>,
linux-input@atrey.karlin.mff.cuni.cz,
linux-hotplug-devel@lists.sourceforge.net
Subject: Re: sysfs change of input/event devices in 2.6.23rc breaks udev
Date: Sat, 08 Sep 2007 22:38:39 +0300 [thread overview]
Message-ID: <46E2FA3F.7050000@gmail.com> (raw)
In-Reply-To: <20070908182928.5AEAA402B15@smtp03.mtu.ru>
Andrey Borzenkov wrote:
> Anssi Hannula wrote:
>
>> Hi!
>>
>> There seem to be changes in sysfs input structure between 2.6.22 and
>> 2.6.23-rc5 which cause some breakage.
>>
[...]
>> There is no longer:
>> /sys/class/input/eventX => /sys/class/input/inputX/eventX
>> instead there is:
>> /sys/class/inputX/input:eventX => /sys/class/input/eventX
>> Notice the added "input:". I don't know if any software depends on this,
>> though.
>>
>> However, the change that broke id_path of udev is that
>> /sys/class/input/event5/device is now a symlink to the inputX directory
>> instead of being the same as the device symlink in inputX directory,
>> i.e. to ../../../devices/platform/pcspkr in this case.
>>
>> Udev id_path uses that directory to construct the ID_PATH variable.
>> Should the sysfs structure be reverted or should udev be adapted to
>> handle traversing /device symlink twice? I think the former, as there
>> should be considerably more time to adapt udev for coming changes in
>> sysfs.
>>
>
> I am using 2.6.23-rc5 in current cooker
Same kernel here, but on an older system (MDV2007.1). I tested with a
path_id from a recent udev as well, though, but the problem was there as
well.
> and I did not notice any breakage;
> could you please show example of wrong path? E.g. I have
>
> {pts/0}% LC_ALL=C ll /dev/input/by-path
> total 0
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-0-event-kbd -> ../event0
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-1-event-mouse -> ../event1
> lrwxrwxrwx 1 root root 9 Sep 2 15:00
> platform-i8042-serio-1-mouse -> ../mouse0
>
> and it looks pretty sane for me.
I don't have anything under /dev/input/by-path as the lookup in path_id
fails.
> Oh, and I do not have CONFIG_SYSFS_DEPRECATED which probably explains why it
> works for me :)
Probably.
> {pts/0}% LC_ALL=C ll /sys/class/input/input2/
> total 0
> drwxr-xr-x 2 root root 0 Sep 8 22:25 capabilities/
> drwxr-xr-x 3 root root 0 Sep 8 22:22 event2/
> drwxr-xr-x 2 root root 0 Sep 8 22:25 id/
> -r--r--r-- 1 root root 4096 Sep 8 22:25 modalias
> -r--r--r-- 1 root root 4096 Sep 8 22:25 name
> -r--r--r-- 1 root root 4096 Sep 8 22:25 phys
> drwxr-xr-x 2 root root 0 Sep 8 22:25 power/
> lrwxrwxrwx 1 root root 0 Sep 8 22:25
> subsystem -> ../../../../class/input/
> -rw-r--r-- 1 root root 4096 Sep 8 22:25 uevent
> -r--r--r-- 1 root root 4096 Sep 8 22:25 uniq
What does this print as devpath for you:
$ udevinfo -q all --name=input/event0
For me on 2.6.23rc5 it prints:
P: /class/input/event0
and on 2.6.22:
P: /class/input/input0/event0
Both are detected as "old sysfs layout" by path_id, but only on 2.6.22
is there a /device symlink pointing to the expected location.
I suspect it prints something like /devices/xyz for you, right?
That seems to be detected as "new sysfs layout" by path_id and handled
differently.
> this implies that SYSFS_DEPRECATED may be broken w.r.t. udev; OTOH it *is*
> deprecated, is not it?
Indeed, at least regarding input subsystem, for which there was a recent
switchover [1] from class_device.
[1]
http://git.kernel.org/?p=linux/kernel/git/torvalds/linux-2.6.git;a=commitdiff;h=9657d75c5f0f7d0a9cb507521d3ad1436aea28c9
--
Anssi Hannula
next prev parent reply other threads:[~2007-09-08 19:38 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-09-08 17:08 sysfs change of input/event devices in 2.6.23rc breaks udev Anssi Hannula
2007-09-08 18:29 ` Andrey Borzenkov
2007-09-08 18:29 ` Andrey Borzenkov
2007-09-08 18:29 ` Andrey Borzenkov
2007-09-08 19:38 ` Anssi Hannula [this message]
2007-09-08 19:38 ` Anssi Hannula
2007-09-08 19:46 ` Andrey Borzenkov
2007-09-08 19:46 ` Andrey Borzenkov
2007-09-09 23:03 ` Kay Sievers
2007-09-10 2:40 ` Andrey Borzenkov
2007-09-10 5:28 ` Dmitry Torokhov
2007-09-10 5:44 ` Greg KH
2007-09-10 13:24 ` Dmitry Torokhov
2007-09-15 8:05 ` Andrew Morton
2007-09-15 14:18 ` Dmitry Torokhov
2007-09-15 15:46 ` Anssi Hannula
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=46E2FA3F.7050000@gmail.com \
--to=anssi.hannula@gmail.com \
--cc=arvidjaar@mail.ru \
--cc=dtor@insightbb.com \
--cc=linux-hotplug-devel@lists.sourceforge.net \
--cc=linux-input@atrey.karlin.mff.cuni.cz \
--cc=linux-kernel@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.