# check if the device has already been claimed by a driver
ENV{PHYSDEVDRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
-# workarounds for kernels which lack $MODALIAS support
-SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_ieee1394"
-SUBSYSTEM=="serio", ENV{MODALIAS}!="?*", IMPORT{program}="modalias_serio"
-
# load the drivers
ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
SUBSYSTEM=="ide", ENV{MODALIAS}!="?*", RUN+="ide.agent"
-SUBSYSTEM=="vio", ENV{MODALIAS}!="?*", RUN+="vio.agent"
SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
BUS=="usb", SYSFS{bInterfaceClass}=="03", SYSFS{bInterfaceProtocol}=="02", \
ENV{ID_CLASS}="mouse"
+# other devices
+DRIVER=="pcspkr", ENV{ID_CLASS}="spkr"
+DRIVER=="atkbd", ENV{ID_CLASS}="kbd"
+DRIVER=="psmouse", ENV{ID_CLASS}="mouse"
+SYSFS{name}=="*dvb*|*DVB*|* IR *", ENV{ID_CLASS}="ir"
+
+ENV{ID_SERIAL}=="", ENV{ID_SERIAL}="noserial"
+
# by-id links, generic and for the event devices
KERNEL=="mouse*", \
ENV{ID_BUS}=="?*", ENV{ID_SERIAL}=="?*", ENV{ID_CLASS}=="?*", \
ACTION!="add", GOTO="no_volume_id"
# and we can safely ignore these kinds of devices
-KERNEL=="ram*|loop*|fd*|nbd*", GOTO="no_volume_id"
+KERNEL=="ram*|loop*|fd*|nbd*|dm-*", GOTO="no_volume_id"
# skip removable ide devices, because open(2) on them causes an events loop
KERNEL=="hd*[!0-9]", SYSFS{removable}=="1", DRIVER=="ide-cs|ide-floppy", \
ENV{ID_FS_LABEL_SAFE}=="?*", ENV{ID_FS_USAGE}=="filesystem|other", \
SYMLINK+="disk/by-label/$env{ID_FS_LABEL_SAFE}"
-#KERNEL=="dm-[0-9]*", PROGRAM="/sbin/dmsetup info -c --noopencount --noheadings -o name -j %M -m %m", \
-# SYMLINK+="disk/by-name/%c"
-
# end of processing
LABEL="no_volume_id"