base-files: process platform hotplug calls in the early launch of hotplug2 to avoid...
[openwrt/svn-archive/archive.git] / package / base-files / files / etc / hotplug2-common.rules
index ed785e3b1c7ae06d58578466eb617a8f5e869904..a1d07d39972e01fdac0535687a400aa334be7307 100644 (file)
@@ -1,35 +1,61 @@
 
-DEVICENAME ~~ (null|full|ptmx|tty|zero) {
-       nothrottle
+# uncomment me to log hotplug events
+# DEVPATH is set {
+#      exec logger -s -t hotplug -p daemon.info "name=%DEVICENAME%, path=%DEVPATH%"
+# }
+
+$include /etc/hotplug2-platform.rules
+
+DEVICENAME ~~ (^null$|^full$|^ptmx$|^zero$|^gpio|^hvc) {
        makedev /dev/%DEVICENAME% 0666
-       next
+       next-event
 }
 
-DEVICENAME ~~ (tun|tap[0-9]) {
-       nothrottle
+DEVICENAME ~~ (^tun|^tap[0-9]$) {
        makedev /dev/net/%DEVICENAME% 0644
-       next
 }
 
-DEVICENAME ~~ (ppp) {
-       nothrottle
-       makedev /dev/%DEVICENAME% 0600
-       next
+DEVICENAME ~~ (^controlC[0-9]$|^pcmC[0-9]D[0-9]|^timer$) {
+       makedev /dev/snd/%DEVICENAME% 0644
+       next-event
 }
 
-DEVICENAME ~~ (controlC[0-9]|pcmC0D0*|timer) {
-       nothrottle
-       makedev /dev/snd/%DEVICENAME% 0644
-       next
+DEVICENAME ~~ ^lp[0-9]$ {
+       makedev /dev/%DEVICENAME% 0644
+       next-event
+}
+
+DEVPATH is set, SUBSYSTEM == input {
+       makedev /dev/input/%DEVICENAME% 0644
+}
+
+DEVICENAME == device-mapper {
+       makedev /dev/mapper/control 0600
+       next-event
 }
 
-DEVPATH is set {
-       nothrottle
+ACTION == add, DEVPATH is set {
        makedev /dev/%DEVICENAME% 0644
 }
 
-FIRMWARE is set {
-       nothrottle
-       exec /sbin/hotplug-call firmware;
-       next
+ACTION == add, DEVPATH is set, DEVICENAME ~~ ^tty {
+       chmod 0666 /dev/%DEVICENAME%
+}
+
+ACTION == add, DEVPATH is set, DEVICENAME ~~ ^ppp {
+       chmod 0600 /dev/%DEVICENAME%
+}
+
+ACTION == remove, DEVPATH is set, MAJOR is set, MINOR is set {
+       remove /dev/%DEVICENAME%
+}
+
+FIRMWARE is set, ACTION == add {
+       exec /sbin/hotplug-call firmware
+       load-firmware /lib/firmware
+       next-event
+}
+
+SUBSYSTEM == platform {
+       exec /sbin/hotplug-call %SUBSYSTEM%
 }