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