From 3070019b68ff1b0e935e738df270c673b9d3d515 Mon Sep 17 00:00:00 2001 From: blogic Date: Mon, 4 Aug 2008 22:56:46 +0000 Subject: 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@12104 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/base-files/files/etc/init.d/led | 45 +++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100755 package/base-files/files/etc/init.d/led (limited to 'package/base-files/files/etc') diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led new file mode 100755 index 000000000..7ccb150cf --- /dev/null +++ b/package/base-files/files/etc/init.d/led @@ -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 + } +} -- cgit v1.2.3