tnltrigger - nldev - NetLink DEVice manager; a lightweight netlink frontend for mdev.
(HTM) git clone git://r-36.net/nldev
(DIR) Log
(DIR) Files
(DIR) Refs
(DIR) LICENSE
---
tnltrigger (1191B)
---
1 #!/bin/busybox ash
2
3 usage() {
4 printf "usage: %s [add|list|del|action] [subsystem]\n" "$(basename $1)" >&2
5 exit 1
6 }
7
8 action="list"
9 if [ $# -gt 0 ];
10 then
11 action="$1"
12 fi
13
14 if [ "$action" = "list" ];
15 then
16 printf "class:\n"
17 for i in /sys/class/*;
18 do
19 printf "\t%s\n" $(basename $i)
20 done
21
22 printf "bus:\n"
23 for i in /sys/bus/*;
24 do
25 printf "\t%s\n" $(basename $i)
26 done
27
28 printf "devices:\n"
29 for i in /sys/devices/*;
30 do
31 printf "\t%s\n" $(basename $i)
32 done
33
34 exit 0
35 fi
36
37 if [ $# -lt 2 ];
38 then
39 usage "$0"
40 fi
41 subsystem="$2"
42
43 if [ "$subsystem" != "all" ];
44 then
45 if [ -d /sys/class/$subsystem ];
46 then
47 for i in /sys/class/$subsystem/*/uevent;
48 do
49 echo $action > $i
50 done
51 exit 0
52 fi
53
54 if [ -d /sys/bus/$subsystem ];
55 then
56 for i in /sys/bus/$subsystem/devices/*/uevent;
57 do
58 echo $action > $i
59 done
60 exit 0
61 fi
62
63 if [ -d /sys/devices/$subsystem ];
64 then
65 for i in /sys/devices/$subsystem/*/uevent \
66 /sys/devices/$subsystem/*/*/uevent;
67 do
68 echo $action > $i
69 done
70 exit 0
71 fi
72
73 printf "Could not find subsystem '%s'.\n" $i >&2
74 exit 1
75 fi
76
77 for i in $(find /sys -name uevent -print | sed -e 's/ /,/g');
78 do
79 echo $action > "$(echo $i | sed -e 's/,/ /g')"
80 done
81
82 exit 0
83