| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- #!/bin/sh /etc/rc.common
- # (C) 2008 openwrt.org
- START=60
- load_led() {
- local name
- local sysfs
- local trigger
- local dev
- local mode
- local default
- local delayon
- local delayoff
- 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
- config_get delayon $1 delayon
- config_get delayoff $1 delayoff
- [ -e /sys/class/leds/${sysfs}/brightness ] && {
- logger "setting up led : ${name:-$sysfs}"
- [ -n "$default" ] && {
- [ $default -eq 1 ] &&
- echo 1 >/sys/class/leds/${sysfs}/brightness
- [ $default -eq 1 ] ||
- 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
- }
- [ "$trigger" == "timer" ] && {
- [ -n "$delayon" ] && echo $delayon > /sys/class/leds/${sysfs}/delay_on
- [ -n "$delayoff" ] && echo $delayoff > /sys/class/leds/${sysfs}/delay_off
- }
- }
- }
- start() {
- [ -e /sys/class/leds/ ] && {
- config_load system
- config_foreach load_led led
- }
- }
|