You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
82 lines
1.4 KiB
82 lines
1.4 KiB
#!/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
|
|
|