+# miscellaneous
+KERNEL=="auer[0-9]*", NAME="usb/%k"
+KERNEL=="hw_random", NAME="hwrng"
+KERNEL=="sxctl", NAME="specialix_sxctl"
+KERNEL=="rioctl", NAME="specialix_rioctl"
+KERNEL=="iowarrior[0-9]*", NAME="usb/%k"
+KERNEL=="hiddev[0-9]*", NAME="usb/%k"
+KERNEL=="legousbtower[0-9]*", NAME="usb/%k"
+KERNEL=="dabusb[0-9]*", NAME="usb/%k"
+KERNEL=="usbdpfp[0-9]*", NAME="usb/%k"
+KERNEL=="cpad[0-9]*", NAME="usb/%k"
+
+# end of naming rules for kernel <2.6.31
+
+
+#
+# module loading rules
+#
+ACTION!="add", GOTO="kernel_compat_end"
+
+# No need for more code, as MODALIAS is present
+ENV{MODALIAS}=="?*", GOTO="kernel_compat_end"
+
+# needed for kernel <2.6.30-rc1
+SUBSYSTEM=="scsi", ATTR{type}=="8", RUN+="/sbin/modprobe -b ch"
+SUBSYSTEM=="mmc", RUN+="/sbin/modprobe -b mmc_block"
+
+# needed for kernel <2.6.27-rc5
+# acpi will do on newer kernels
+SUBSYSTEM=="pnp", DRIVER!="?*", \
+ RUN{ignore_error}+="/bin/sh -c '/sbin/modprobe -a $$(while read id; do echo pnp:d$$id; done < /sys$devpath/id)'"
+
+LABEL="kernel_compat_end"