de8ba105c539e992c92664e421f07f3978659ff5
[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" ],
14 ],
15 [ "regex", "DEVNAME",
16 [ "^gpio", "^hvc" ],
17 ],
18 ],
19 [
20 [ "makedev", "/dev/%DEVNAME%", "0666" ],
21 [ "return" ],
22 ]
23 ],
24 [ "if",
25 [ "or",
26 [ "eq", "DEVNAME", "mapper/control" ],
27 [ "regex", "DEVPATH", "^ppp" ],
28 ],
29 [
30 [ "makedev", "/dev/%DEVNAME%", "0600" ],
31 [ "return" ],
32 ],
33 ],
34 [ "if",
35 [ "regex", "DEVNAME", "^snd" ],
36 [ "makedev", "/dev/%DEVNAME%", "0660", "audio" ],
37 ],
38 [ "if",
39 [ "regex", "DEVNAME", "^ttyS" ],
40 [ "makedev", "/dev/%DEVNAME%", "0664" ],
41 ],
42 [ "if",
43 [ "has", "DEVNAME" ],
44 [ "makedev", "/dev/%DEVNAME%", "0644" ],
45 ],
46 ],
47 ],
48 [ "if",
49 [ "has", "FIRMWARE" ],
50 [
51 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ],
52 [ "load-firmware", "/lib/firmware" ],
53 [ "return" ]
54 ]
55 ],
56 ],
57 "remove" : [
58 [ "if",
59 [ "and",
60 [ "has", "DEVNAME" ],
61 [ "has", "MAJOR" ],
62 [ "has", "MINOR" ],
63 ],
64 [ "rm", "/dev/%DEVNAME%" ]
65 ]
66 ]
67 } ],
68 [ "if",
69 [ "and",
70 [ "has", "BUTTON" ],
71 [ "eq", "SUBSYSTEM", "button" ],
72 ],
73 [ "button", "/etc/rc.button/%BUTTON%" ]
74 ],
75 [ "if",
76 [ "and",
77 [ "eq", "SUBSYSTEM", "usb-serial" ],
78 [ "regex", "DEVNAME",
79 [ "^ttyUSB", "^ttyACM" ]
80 ]
81 ],
82 [ "exec", "/sbin/hotplug-call", "tty" ],
83 [ "if",
84 [ "isdir", "/etc/hotplug.d/%SUBSYSTEM%" ],
85 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
86 ]
87 ],
88 ]