Switch Marvell Orion CPU to kernel 2.6.32 plus LED support for all LEDs
[openwrt-10.03/.git] / target / linux / orion / base-files / etc / hotplug.d / usb / 10-usb
diff --git a/target/linux/orion/base-files/etc/hotplug.d/usb/10-usb b/target/linux/orion/base-files/etc/hotplug.d/usb/10-usb
new file mode 100644 (file)
index 0000000..5572dae
--- /dev/null
@@ -0,0 +1,54 @@
+#!/bin/sh
+#
+# Copyright (C) 2009-2010 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+usb_led=''
+usb_device=''
+
+led_set_attr() {
+       [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
+}
+
+usb_led_set_timer() {
+       led_set_attr "${usb_led}" 'trigger' 'timer'
+       led_set_attr "${usb_led}" 'delay_on' "$1"
+       led_set_attr "${usb_led}" 'delay_off' "$2"
+}
+
+usb_led_on() {
+       led_set_attr "${usb_led}" 'trigger' 'none'
+       led_set_attr "${usb_led}" 'brightness' 255
+}
+
+usb_led_off() {
+       led_set_attr "${usb_led}" 'trigger' 'none'
+       led_set_attr "${usb_led}" 'brightness' 0
+}
+
+get_usb_led() {
+       local hardware=`sed -n /Hardware/s/.*:.//p /proc/cpuinfo`
+
+       case "${hardware}" in
+        'Linksys WRT350N v2')
+               usb_led='wrt350nv2:green:usb'
+               usb_device='1-1:1.0'
+               ;;
+       esac;
+}
+
+get_usb_led
+
+case "${ACTION}" in
+ add)
+       # update LEDs
+       [ "${usb_device}" = "${DEVICENAME}" ] && usb_led_on
+       ;;
+ remove)
+       # update LEDs
+       [ "${usb_device}" = "${DEVICENAME}" ] && usb_led_off
+       ;;
+esac