ACTION!="add", GOTO="hotplug_not_add_event"
# check if the device has already been claimed by a driver
-ENV{PHYSDEVDRIVER}=="?*", GOTO="hotplug_driver_loaded"
+ENV{DRIVER}=="?*", SUBSYSTEM!="input", GOTO="hotplug_driver_loaded"
-# workarounds for kernels which lack $MODALIAS support
-SUBSYSTEM=="ieee1394", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/udev/modalias_ieee1394"
-SUBSYSTEM=="serio", ENV{MODALIAS}!="?*", \
- IMPORT{program}="/lib/udev/modalias_serio"
+# this driver is broken and should not be loaded automatically (see #398962)
+SUBSYSTEM=="platform", ENV{MODALIAS}=="i82365", GOTO="hotplug_driver_loaded"
# load the drivers
-ENV{MODALIAS}=="?*", RUN+="/sbin/modprobe $env{MODALIAS}"
-SUBSYSTEM=="ide", ENV{MODALIAS}!="?*", RUN+="/lib/udev/ide.agent"
-#SUBSYSTEM=="input", ENV{MODALIAS}!="?*", RUN+="/lib/udev/input.agent"
-SUBSYSTEM=="vio", ENV{MODALIAS}!="?*", RUN+="/lib/udev/vio.agent"
+ENV{MODALIAS}=="?*", \
+ RUN+="/sbin/modprobe --use-blacklist $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=="pnp", ENV{MODALIAS}!="?*", \
+ RUN+="/bin/sh -c 'while read id; do /sbin/modprobe --use-blacklist 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=="tifm", ENV{TIFM_CARD_TYPE}=="SD", RUN+="/sbin/modprobe tifm_sd"
+SUBSYSTEM=="tifm", ENV{TIFM_CARD_TYPE}=="MS", RUN+="/sbin/modprobe tifm_ms"
+
+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}=="8", RUN+="/sbin/modprobe ch"
+SUBSYSTEM=="scsi_device", ATTRS{type}=="[235689]", RUN+="/sbin/modprobe sg"
+
+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/udev/scsi-re-add"
+#SUBSYSTEM=="scsi_device", ATTRS{idVendor}=="...", \
+# RUN+="scsi-re-add"
-SUBSYSTEM=="firmware", RUN+="/lib/udev/firmware.agent"
+SUBSYSTEM=="firmware", RUN+="firmware.agent"
LABEL="hotplug_not_add_event"
-SUBSYSTEM=="net", RUN+="/bin/sh -c '/lib/udev/net.agent &'"
+SUBSYSTEM=="net", RUN+="net.agent"
# Log every event to /dev/hotplug.log (for debugging).
-#RUN+="/lib/udev/logger.agent"
+#RUN+="logger.agent"