procd: adjust /dev entries to desktop distro defaults
[openwrt/openwrt.git] / package / system / procd / files / hotplug.json
1 [
2 [ "case", "ACTION", {
3 "add": [
4 [ "if",
5 [ "and",
6 [ "has", "MAJOR" ],
7 [ "has", "MINOR" ],
8 ],
9 [
10 [ "if",
11 [ "or",
12 [ "eq", "DEVNAME",
13 [ "null", "full", "ptmx", "zero", "tty", "net", "random", "urandom" ],
14 ],
15 [ "regex", "DEVNAME",
16 [ "^gpio", "^hvc" ],
17 ],
18 ],
19 [
20 [ "makedev", "/dev/%DEVNAME%", "0666" ],
21 [ "return" ],
22 ]
23 ],
24 [ "if",
25 [ "eq", "DEVNAME", "kmsg" ],
26 [ "makedev", "/dev/%DEVNAME%", "0644" ],
27 ],
28 [ "if",
29 [ "regex", "DEVNAME", "^snd" ],
30 [ "makedev", "/dev/%DEVNAME%", "0660", "audio" ],
31 ],
32 [ "if",
33 [ "has", "DEVNAME" ],
34 [ "makedev", "/dev/%DEVNAME%", "0600" ],
35 ],
36 ],
37 ],
38 [ "if",
39 [ "has", "FIRMWARE" ],
40 [
41 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ],
42 [ "load-firmware", "/lib/firmware" ],
43 [ "return" ]
44 ]
45 ],
46 ],
47 "remove" : [
48 [ "if",
49 [ "and",
50 [ "has", "DEVNAME" ],
51 [ "has", "MAJOR" ],
52 [ "has", "MINOR" ],
53 ],
54 [ "rm", "/dev/%DEVNAME%" ]
55 ]
56 ]
57 } ],
58 [ "if",
59 [ "and",
60 [ "has", "BUTTON" ],
61 [ "eq", "SUBSYSTEM", "button" ],
62 ],
63 [ "button", "/etc/rc.button/%BUTTON%" ]
64 ],
65 [ "if",
66 [ "and",
67 [ "eq", "SUBSYSTEM", "usb-serial" ],
68 [ "regex", "DEVNAME",
69 [ "^ttyUSB", "^ttyACM" ]
70 ]
71 ],
72 [ "exec", "/sbin/hotplug-call", "tty" ],
73 [ "if",
74 [ "isdir", "/etc/hotplug.d/%SUBSYSTEM%" ],
75 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
76 ]
77 ],
78 ]