a1c9dc97fc0546384b524963b4f21ee80aa55d99
[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", "^ttyS" ],
36 [ "makedev", "/dev/%DEVNAME%", "0664" ],
37 ],
38 [ "if",
39 [ "has", "DEVNAME" ],
40 [ "makedev", "/dev/%DEVNAME%", "0644" ],
41 ],
42 ],
43 ],
44 [ "if",
45 [ "has", "FIRMWARE" ],
46 [
47 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ],
48 [ "load-firmware", "/lib/firmware" ],
49 [ "return" ]
50 ]
51 ],
52 ],
53 "remove" : [
54 [ "if",
55 [ "and",
56 [ "has", "DEVNAME" ],
57 [ "has", "MAJOR" ],
58 [ "has", "MINOR" ],
59 ],
60 [ "rm", "/dev/%DEVNAME%" ]
61 ]
62 ]
63 } ],
64 [ "if",
65 [ "and",
66 [ "has", "BUTTON" ],
67 [ "eq", "SUBSYSTEM", "button" ],
68 ],
69 [ "button", "/etc/rc.button/%BUTTON%" ]
70 ],
71 [ "if",
72 [ "and",
73 [ "eq", "SUBSYSTEM", "usb-serial" ],
74 [ "regex", "DEVNAME",
75 [ "^ttyUSB", "^ttyACM" ]
76 ]
77 ],
78 [ "exec", "/sbin/hotplug-call", "tty" ],
79 [ "if",
80 [ "isdir", "/etc/hotplug.d/%SUBSYSTEM%" ],
81 [ "exec", "/sbin/hotplug-call", "%SUBSYSTEM%" ]
82 ]
83 ],
84 ]