lantiq: use the compatible string as board name
[openwrt/openwrt.git] / target / linux / lantiq / base-files / etc / uci-defaults / 01_led_migration
1 #!/bin/sh
2 #
3 # Copyright (C) 2013 OpenWrt.org
4 #
5
6 LED_OPTIONS_CHANGED=0
7
8 . /lib/functions.sh
9
10 do_led_update_sysfs()
11 {
12 local cfg=$1; shift
13 local tuples="$@"
14 local sysfs
15 local name
16
17 config_get sysfs $cfg sysfs
18 config_get name $cfg name
19
20 [ -z "$sysfs" ] && return
21
22 for tuple in $tuples; do
23 local old=${tuple%=*}
24 local new=${tuple#*=}
25 local new_sysfs
26
27 new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
28
29 [ "$new_sysfs" = "$sysfs" ] && continue
30
31 uci set system.${cfg}.sysfs="${new_sysfs}"
32 LED_OPTIONS_CHANGED=1
33
34 logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
35 done;
36 }
37
38 do_internet_led_rename()
39 {
40 config_load system
41
42 [ -n $(config_get led_internet name) ] || return
43 [ -z $(config_get led_dsl name) ] || return
44
45 uci rename system.led_internet=led_dsl
46 uci set system.led_dsl.name=dsl
47
48 LED_OPTIONS_CHANGED=1
49 logger -t led-migration "internet led renamed to dsl"
50 }
51
52 migrate_leds()
53 {
54 config_load system
55 config_foreach do_led_update_sysfs led "$@"
56 }
57
58 case "$(board_name)" in
59 arcadyan,arv452cqw|\
60 arcadyan,arv7510pw22|\
61 arcadyan,arv7519rw22|\
62 arcadyan,arv752dpw|\
63 arcadyan,arv752dpw22|\
64 alphanetworks,asl56026|\
65 bt,homehub-v2b|\
66 bt,homehub-v3a|\
67 bt,homehub-v5a|\
68 avm,fritz7360sl|\
69 arcadyan,vg3503j)
70 do_internet_led_rename
71 ;;
72 netgear,dgn3500|\
73 netgear,dgn3500b)
74 migrate_leds "dgn3500:blue:wireless=dgn3500:green:wireless"
75 ;;
76 *)
77 ;;
78 esac
79
80 [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
81
82 exit 0