diff options
author | Christoph Lohmann <20h@r-36.net> | 2012-04-28 20:30:56 +0200 |
---|---|---|
committer | Christoph Lohmann <20h@r-36.net> | 2012-04-28 20:30:56 +0200 |
commit | 9f094bed8c41fe587bee893c2f7faf94b65d8b1f (patch) | |
tree | 8b7a6e2c0215d62d2532064a058f5083366763fe /nltrigger | |
parent | e54347c4816f96226113d0fddecff41502b22d1f (diff) | |
download | nldev-9f094bed8c41fe587bee893c2f7faf94b65d8b1f.tar.bz2 nldev-9f094bed8c41fe587bee893c2f7faf94b65d8b1f.tar.xz |
Add nltrigger.
Diffstat (limited to 'nltrigger')
-rwxr-xr-x | nltrigger | 58 |
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 + |