aboutsummaryrefslogtreecommitdiffstats
path: root/nltrigger
diff options
context:
space:
mode:
authorChristoph Lohmann <20h@r-36.net>2012-04-28 20:30:56 +0200
committerChristoph Lohmann <20h@r-36.net>2012-04-28 20:30:56 +0200
commit9f094bed8c41fe587bee893c2f7faf94b65d8b1f (patch)
tree8b7a6e2c0215d62d2532064a058f5083366763fe /nltrigger
parente54347c4816f96226113d0fddecff41502b22d1f (diff)
downloadnldev-9f094bed8c41fe587bee893c2f7faf94b65d8b1f.tar.bz2
nldev-9f094bed8c41fe587bee893c2f7faf94b65d8b1f.tar.xz
Add nltrigger.
Diffstat (limited to 'nltrigger')
-rwxr-xr-xnltrigger58
1 files changed, 58 insertions, 0 deletions
diff --git a/nltrigger b/nltrigger
new file mode 100755
index 0000000..f5733b4
--- /dev/null
+++ b/nltrigger
@@ -0,0 +1,58 @@
+#!/bin/sh
+
+if [ $# -eq 0 ];
+then
+ printf "usage: %s subsystem [action]\n" "$(basename $0)" >&2
+ exit 1
+fi
+
+action="add"
+if [ $# -eq 2 ];
+then
+ action="$2"
+fi
+
+if [ "$1" != "all" ];
+then
+ if [ -d /sys/class/$1 ];
+ then
+ for i in /sys/class/$1/*/uevent;
+ do
+ echo $action > $i
+ done
+ exit 0
+ fi
+
+ if [ -d /sys/bus/$1 ];
+ then
+ for i in /sys/bus/$1/devices/*/uevent;
+ do
+ echo $action > $i
+ done
+ exit 0
+ fi
+
+ if [ -d /sys/devices/$1 ];
+ then
+ for i in /sys/devices/$1/*/uevent \
+ /sys/devices/$1/*/*/uevent;
+ do
+ echo $action > $i
+ done
+ exit 0
+ fi
+
+ printf "Could not find subsystem '%s'.\n" $i >&2
+ exit 1
+fi
+
+exit 0
+
+for i in /sys/class/*/*/uevent /sys/bus/*/devices/*/uevent \
+ /sys/devices/*/*/uevent /sys/devices/*/*/*/uevent;
+do
+ echo $action > $i
+done
+
+exit 0
+