ACTION!="add", GOTO="hotplug_not_add_event"
# check if the device has already been claimed by a driver
-PROGRAM="/bin/sh -c 'test -e /sys$devpath/driver'", \
- GOTO="hotplug_driver_loaded"
-
-# workarounds for kernels which lack $MODALIAS support
-SUBSYSTEM=="input", BUS=="serio", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/hotplug/modalias_serio"
-SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/hotplug/modalias_ieee1394"
+ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
# load the drivers
-ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $modalias"
-SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
+ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
+SUBSYSTEM=="ide", ENV{MODALIAS}!="?*", RUN+="ide.agent"
+
+SUBSYSTEM=="pnp", ENV{MODALIAS}!="?*", RUN+="/bin/sh -c 'while read id; do /sbin/modprobe pnp:d$$id; done < /sys$devpath/id'"
+
+SUBSYSTEM=="pcmcia_socket", RUN+="/sbin/modprobe pcmcia"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe osst", \
- SYSFS{vendor}=="Onstream", SYSFS{model}!="ADR*"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \
- SYSFS{vendor}=="Onstream", SYSFS{model}=="ADR*"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="1", RUN+="/sbin/modprobe st", \
- SYSFS{vendor}!="Onstream"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="[345]", RUN+="/sbin/modprobe sr_mod"
-SUBSYSTEM=="scsi_device", SYSFS{type}=="[235689]", RUN+="/sbin/modprobe sg"
+# rules for subsystems which lack proper hotplug support
+SUBSYSTEM=="i2o", RUN+="/sbin/modprobe i2o-block"
+#SUBSYSTEM=="mmc", RUN+="/sbin/modprobe mmc-block"
-SUBSYSTEM=="input_device", ENV{ABS}=="?*", RUN+="/sbin/modprobe joydev"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="0|7|14", RUN+="/sbin/modprobe sd_mod"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="1", RUN+="/sbin/modprobe osst", \
+ ATTRS{vendor}=="Onstream", ATTRS{model}!="ADR*"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="1", RUN+="/sbin/modprobe st", \
+ ATTRS{vendor}=="Onstream", ATTRS{model}=="ADR*"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="1", RUN+="/sbin/modprobe st", \
+ ATTRS{vendor}!="Onstream"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="[45]", RUN+="/sbin/modprobe sr_mod"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="[235689]", RUN+="/sbin/modprobe sg"
-SUBSYSTEM=="ide", RUN+="/lib/hotplug/ide.agent"
+SUBSYSTEM=="ide", ATTR{media}=="tape", RUN+="/sbin/modprobe ide-scsi"
# From here on follows the hotplug agents which do not load modules
LABEL="hotplug_driver_loaded"
# FIXME: does a sane default exist?
-#SUBSYSTEM=="scsi_device", SYSFS{idVendor}=="...", \
-# RUN+="/lib/hotplug/scsi-re-add"
+#SUBSYSTEM=="scsi_device", ATTRS{idVendor}=="...", \
+# RUN+="scsi-re-add"
-SUBSYSTEM=="firmware", RUN+="/lib/hotplug/firmware.agent"
+SUBSYSTEM=="firmware", RUN+="firmware.agent"
LABEL="hotplug_not_add_event"
-SUBSYSTEM=="net", RUN+="/lib/hotplug/net.agent"
+SUBSYSTEM=="net", RUN+="net.agent"
-# for debugging
-#RUN+="/lib/hotplug/logger.agent"
+# Log every event to /dev/hotplug.log (for debugging).
+#RUN+="logger.agent"