#!/bin/sh # # Copyright (C) 2013 OpenWrt.org # LED_OPTIONS_CHANGED=0 . /lib/functions.sh do_led_update_sysfs() { local cfg=$1; shift local tuples="$@" local sysfs local name config_get sysfs $cfg sysfs config_get name $cfg name [ -z "$sysfs" ] && return for tuple in $tuples; do local old=${tuple%=*} local new=${tuple#*=} local new_sysfs new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/") [ "$new_sysfs" = "$sysfs" ] && continue uci set system.${cfg}.sysfs="${new_sysfs}" LED_OPTIONS_CHANGED=1 logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}" done; } migrate_leds() { config_load system config_foreach do_led_update_sysfs led "$@" } . /lib/ar71xx.sh board=$(ar71xx_board_name) case "$board" in dhp-1565-a1|\ dir-825-c1|\ dir-835-a1) migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g" ;; wndap360) migrate_leds "wndap360:=netgear:" ;; wndr3700) migrate_leds "wndr3700:=netgear:" ;; wndr3700v4 | \ wndr4300) migrate_leds ":orange:=:amber:" ;; wnr2000) migrate_leds "wnr2000:=netgear:" ;; wnr2200) migrate_leds "wnr2200:=netgear:" ;; wnr612-v2) migrate_leds "wnr612v2:=netgear:" ;; wnr1000-v2) migrate_leds "wnr1000v2:=netgear:" ;; *) ;; esac [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system exit 0