Package: udev
Version: 0.090-4
Severity: wishlist
Tags: patch
Hello,
I have written this little patch, to support platform and/or serio
devices in persistent input rules (by-path). I don't know, whether it's
reasonable
to persistly name these devices, but i was nervous, my
/dev/input/by-path directory is empty ;) ... if it's not reasonable,
just drop this patch.
Second patch (path_id.class.diff) is an attempt to add some detection of
ID_CLASS for non-usb devices (like serio, or ir remote on my tv card),
it's based on driver name.
my directory /dev/input/by-path looks like this now
pci-0000:00:1d.0-usb-0:1:1.0-event-mouse
pci-0000:00:1d.0-usb-0:1:1.0-mouse
pci-0000:02:01.0--event-ir
platform-i8042-serio-1-event-kbd
platform-pcspkr-event-spkr
cu
libor
-- Package-specific info:
-- /etc/udev/rules.d/:
/etc/udev/rules.d/:
celkem 8
lrwxrwxrwx 1 root root 20 2005-06-16 18:21 020_permissions.rules ->
../permissions.rules
lrwxrwxrwx 1 root root 19 2005-10-12 01:47 025_libgphoto2.rules ->
../libgphoto2.rules
lrwxrwxrwx 1 root root 22 2005-10-17 01:44 025_logitechmouse.rules ->
../logitechmouse.rules
lrwxrwxrwx 1 root root 16 2006-03-28 01:48 030_ifplugd.rules ->
../ifplugd.rules
lrwxrwxrwx 1 root root 12 2006-03-07 03:18 050_hal-plugdev.rules ->
../hal.rules
-rw-r--r-- 1 root root 82 2006-03-05 23:14 90-hal.rules
lrwxrwxrwx 1 root root 19 2005-06-16 18:21 cd-aliases.rules ->
../cd-aliases.rules
lrwxrwxrwx 1 root root 13 2005-06-16 18:21 udev.rules -> ../udev.rules
lrwxrwxrwx 1 root root 25 2006-03-28 01:48 z20_persistent-input.rules ->
../persistent-input.rules
lrwxrwxrwx 1 root root 19 2005-08-15 00:08 z20_persistent.rules ->
../persistent.rules
-rw-r--r-- 1 root root 401 2006-04-20 03:23 z25_persistent-net.rules
lrwxrwxrwx 1 root root 33 2006-04-20 02:17 z45_persistent-net-generator.rules
-> ../persistent-net-generator.rules
lrwxrwxrwx 1 root root 12 2005-07-03 22:34 z50_run.rules -> ../run.rules
lrwxrwxrwx 1 root root 16 2005-11-05 10:44 z55_hotplug.rules ->
../hotplug.rules
lrwxrwxrwx 1 root root 19 2005-08-02 23:28 z60_alsa-utils.rules ->
../alsa-utils.rules
lrwxrwxrwx 1 root root 15 2005-09-20 02:13 z60_hdparm.rules -> ../hdparm.rules
lrwxrwxrwx 1 root root 17 2005-11-05 11:23 z60_net.rules -> ../usbmount.rules
lrwxrwxrwx 1 root root 17 2005-07-09 22:27 z60_usbmount.rules ->
../usbmount.rules
lrwxrwxrwx 1 root root 17 2005-07-03 22:34 z70_hotplugd.rules ->
../hotplugd.rules
-- /sys/:
/sys/block/hda/dev
/sys/block/md0/dev
/sys/block/md1/dev
/sys/block/md2/dev
/sys/block/ram0/dev
/sys/block/ram10/dev
/sys/block/ram11/dev
/sys/block/ram12/dev
/sys/block/ram13/dev
/sys/block/ram14/dev
/sys/block/ram15/dev
/sys/block/ram1/dev
/sys/block/ram2/dev
/sys/block/ram3/dev
/sys/block/ram4/dev
/sys/block/ram5/dev
/sys/block/ram6/dev
/sys/block/ram7/dev
/sys/block/ram8/dev
/sys/block/ram9/dev
/sys/block/sda/dev
/sys/block/sda/sda1/dev
/sys/block/sda/sda2/dev
/sys/block/sda/sda3/dev
/sys/block/sda/sda4/dev
/sys/block/sda/sda5/dev
/sys/block/sda/sda6/dev
/sys/block/sdb/dev
/sys/block/sdb/sdb1/dev
/sys/block/sdb/sdb2/dev
/sys/block/sdb/sdb3/dev
/sys/block/sdb/sdb4/dev
/sys/block/sdb/sdb5/dev
/sys/block/sdb/sdb6/dev
/sys/class/dvb/dvb0.demux0/dev
/sys/class/dvb/dvb0.dvr0/dev
/sys/class/dvb/dvb0.frontend0/dev
/sys/class/dvb/dvb0.net0/dev
/sys/class/graphics/fb0/dev
/sys/class/i2c-dev/i2c-0/dev
/sys/class/i2c-dev/i2c-1/dev
/sys/class/i2c-dev/i2c-2/dev
/sys/class/i2c-dev/i2c-3/dev
/sys/class/i2c-dev/i2c-4/dev
/sys/class/i2c-dev/i2c-5/dev
/sys/class/input/input0/event0/dev
/sys/class/input/input2/event2/dev
/sys/class/input/input3/event3/dev
/sys/class/input/input4/event1/dev
/sys/class/input/input4/mouse0/dev
/sys/class/input/input5/event4/dev
/sys/class/input/mice/dev
/sys/class/misc/device-mapper/dev
/sys/class/misc/fuse/dev
/sys/class/misc/hpet/dev
/sys/class/misc/rtc/dev
/sys/class/misc/tun/dev
/sys/class/printer/lp0/dev
/sys/class/sound/admmidi/dev
/sys/class/sound/adsp1/dev
/sys/class/sound/adsp/dev
/sys/class/sound/amidi/dev
/sys/class/sound/audio1/dev
/sys/class/sound/audio/dev
/sys/class/sound/controlC0/dev
/sys/class/sound/controlC1/dev
/sys/class/sound/dmmidi/dev
/sys/class/sound/dsp1/dev
/sys/class/sound/dsp/dev
/sys/class/sound/hwC0D0/dev
/sys/class/sound/hwC0D2/dev
/sys/class/sound/midiC0D0/dev
/sys/class/sound/midiC0D1/dev
/sys/class/sound/midiC0D2/dev
/sys/class/sound/midi/dev
/sys/class/sound/mixer1/dev
/sys/class/sound/mixer/dev
/sys/class/sound/pcmC0D0c/dev
/sys/class/sound/pcmC0D0p/dev
/sys/class/sound/pcmC0D1c/dev
/sys/class/sound/pcmC0D2c/dev
/sys/class/sound/pcmC0D2p/dev
/sys/class/sound/pcmC0D3p/dev
/sys/class/sound/pcmC1D0c/dev
/sys/class/sound/pcmC1D0p/dev
/sys/class/sound/pcmC1D1c/dev
/sys/class/sound/pcmC1D2c/dev
/sys/class/sound/pcmC1D3c/dev
/sys/class/sound/pcmC1D4p/dev
/sys/class/sound/seq/dev
/sys/class/sound/sequencer2/dev
/sys/class/sound/sequencer/dev
/sys/class/sound/timer/dev
/sys/class/usb_device/usbdev1.1/dev
/sys/class/usb_device/usbdev1.4/dev
/sys/class/usb_device/usbdev2.1/dev
/sys/class/usb_device/usbdev3.1/dev
/sys/class/usb_device/usbdev4.1/dev
/sys/class/usb_device/usbdev5.1/dev
/sys/class/usb_device/usbdev5.5/dev
/sys/class/video4linux/radio0/dev
/sys/class/video4linux/vbi0/dev
/sys/class/video4linux/video0/dev
-- Kernel configuration:
isapnp_init not present.
-- System Information:
Debian Release: testing/unstable
APT prefers experimental
APT policy: (700, 'experimental'), (700, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/bash
Kernel: Linux 2.6.16-ck4-lev-1
Locale: LANG=cs_CZ, LC_CTYPE=cs_CZ (charmap=ISO-8859-2)
Versions of packages udev depends on:
ii initscripts 2.86.ds1-14 Scripts for initializing and shutt
ii libc6 2.3.6-7 GNU C Library: Shared libraries
ii libselinux1 1.30-1 SELinux shared libraries
ii libvolume-id0 0.090-4 libvolume_id shared library
ii lsb-base 3.1-4 Linux Standard Base 3.1 init scrip
ii makedev 3.3.8.2-0 Creates device files in /dev
ii sed 4.1.4-7 The GNU sed stream editor
udev recommends no packages.
-- debconf information:
udev/devfs-warning:
udev/reboot-warning:
--- path_id.orig 2006-04-23 18:25:45.000000000 +0200
+++ path_id 2006-04-25 22:53:38.000000000 +0200
@@ -96,6 +96,56 @@
RESULT=0
}
+handle_platform () {
+ local DEV=$1
+ cd -P $1
+ DEV=${PWD}
+ platform_id=${DEV##*/}
+ host_dev_path=$DEV
+ while [ ! -z "$host_dev_path" ] ; do
+ case "$host_dev_path" in
+ */platform*)
+ host_dev_path=${host_dev_path%/*}
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ if [ "$d" ]; then
+ d="platform-$platform_id-$d"
+ else
+ d="platform-$platform_id"
+ fi
+ D="$host_dev_path"
+ RESULT=0
+}
+
+handle_serio () {
+ local DEV=$1
+ cd -P $1
+ DEV=${PWD}
+ serio_id=${DEV##*/serio}
+ host_dev_path=$DEV
+ while [ ! -z "$host_dev_path" ] ; do
+ case "$host_dev_path" in
+ */serio*)
+ host_dev_path=${host_dev_path%/*}
+ ;;
+ *)
+ break
+ ;;
+ esac
+ done
+ if [ "$d" ]; then
+ d="serio-$serio_id-$d"
+ else
+ d="serio-$serio_id"
+ fi
+ D="$host_dev_path"
+ RESULT=0
+}
+
handle_ide () {
: handle_ide $*
local DEV=$1
@@ -372,6 +422,12 @@
*/pci[0-9]*:[0-9]*)
handle_pci "$D"
;;
+ */serio[0-9]*)
+ handle_serio "$D"
+ ;;
+ */platform/*)
+ handle_platform "$D"
+ ;;
*/devices)
D=
;;
--- path_id.orig 2006-04-25 22:53:38.000000000 +0200
+++ path_id 2006-04-25 23:38:17.000000000 +0200
@@ -460,6 +460,30 @@
d="$d-${rewind}st${mode}"
fi
fi
+ if [ "$TYPE" == "input" ] ; then
+ cd -P "${full_sysfs_device_path}/driver"
+ full_sysfs_driver_path=`pwd -P`
+ devname=${full_sysfs_driver_path##*drivers/}
+ case "$devname" in
+ bttv|saa7134|cx88xx)
+ c="ir"
+ ;;
+ atkbd)
+ c="kbd"
+ ;;
+ psmouse)
+ c="mouse"
+ ;;
+ usbhid)
+ ;;
+ pcspkr)
+ c="spkr"
+ ;;
+ *)
+ c="other"
+ ;;
+ esac
+ fi
}
case "$TYPE" in
@@ -474,6 +498,9 @@
input)
handle_device
echo "ID_PATH=$d"
+ if [ "$c" ]; then
+ echo "ID_CLASS=$c"
+ fi
;;
*)
RESULT=1