add uci led support - /etc/config/system can hold led info which is applied at boot - adds /sbin/led.sh to set/clear leds via a name defined in /etc/config/system
SVN-Revision: 12104master
parent
9cda3fb084
commit
72396bd614
@ -0,0 +1,45 @@ |
||||
#!/bin/sh /etc/rc.common |
||||
# (C) 2008 openwrt.org |
||||
|
||||
. /etc/functions.sh |
||||
|
||||
START=60 |
||||
|
||||
load_led() { |
||||
local name |
||||
local sysfs |
||||
local trigger |
||||
local dev |
||||
local mode |
||||
local default |
||||
|
||||
config_get name $1 name |
||||
config_get sysfs $1 sysfs |
||||
config_get trigger $1 trigger |
||||
config_get dev $1 dev |
||||
config_get mode $1 mode |
||||
config_get default $1 default |
||||
|
||||
[ -e /sys/class/leds/${sysfs}/brightness -a -n "$name" ] && { |
||||
logger "setting up led : $name" |
||||
[ -n "$default" ] && { |
||||
[ $default -eq 1 ] && |
||||
echo 1 >/sys/class/leds/${sysfs}/brightness \ |
||||
|| echo 0 >/sys/class/leds/${sysfs}/brightness |
||||
} |
||||
[ -z "$trigger" ] && trigger=none |
||||
echo $trigger > /sys/class/leds/${sysfs}/trigger |
||||
[ "$trigger" == "netdev" -a -n "$dev" ] && { |
||||
[ -z "$mode" ] && mode=link |
||||
echo $dev > /sys/class/leds/${sysfs}/device_name |
||||
echo $mode > /sys/class/leds/${sysfs}/mode |
||||
} |
||||
} |
||||
} |
||||
|
||||
start() { |
||||
[ -e /sys/class/leds/ ] && { |
||||
config_load system |
||||
config_foreach load_led led |
||||
} |
||||
} |
@ -0,0 +1,25 @@ |
||||
#!/bin/sh |
||||
# (C) 2008 openwrt.org |
||||
|
||||
. /etc/functions.sh |
||||
ACTION=$1 |
||||
NAME=$2 |
||||
do_led() { |
||||
local name |
||||
local sysfs |
||||
config_get name $1 name |
||||
config_get sysfs $1 sysfs |
||||
[ "$name" == "$NAME" -a -e "/sys/class/leds/${sysfs}" ] && { |
||||
[ "$ACTION" == "set" ] && |
||||
echo 1 >/sys/class/leds/${sysfs}/brightness \ |
||||
|| echo 0 >/sys/class/leds/${sysfs}/brightness |
||||
exit 0 |
||||
} |
||||
} |
||||
|
||||
[ "$1" == "clear" -o "$1" == "set" ] && |
||||
[ -n "$2" ] &&{ |
||||
config_load system |
||||
config_foreach do_led |
||||
exit 1 |
||||
} |
Loading…
Reference in new issue