| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182 |
- #!/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;
- }
- do_internet_led_rename()
- {
- config_load system
- [ -n $(config_get led_internet name) ] || return
- [ -z $(config_get led_dsl name) ] || return
- uci rename system.led_internet=led_dsl
- uci set system.led_dsl.name=dsl
- LED_OPTIONS_CHANGED=1
- logger -t led-migration "internet led renamed to dsl"
- }
- migrate_leds()
- {
- config_load system
- config_foreach do_led_update_sysfs led "$@"
- }
- case "$(board_name)" in
- arcadyan,arv452cqw|\
- arcadyan,arv7510pw22|\
- arcadyan,arv7519rw22|\
- arcadyan,arv752dpw|\
- arcadyan,arv752dpw22|\
- alphanetworks,asl56026|\
- bt,homehub-v2b|\
- bt,homehub-v3a|\
- bt,homehub-v5a|\
- avm,fritz7360sl|\
- arcadyan,vg3503j)
- do_internet_led_rename
- ;;
- netgear,dgn3500|\
- netgear,dgn3500b)
- migrate_leds "dgn3500:blue:wireless=dgn3500:green:wireless"
- ;;
- *)
- ;;
- esac
- [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
- exit 0
|