ar71xx: add missing LED migration for Archer C7
[openwrt/staging/jogo.git] / target / linux / ar71xx / base-files / etc / uci-defaults / 04_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 migrate_leds()
39 {
40 config_load system
41 config_foreach do_led_update_sysfs led "$@"
42 }
43
44 board=$(board_name)
45
46 case "$board" in
47 archer-c7)
48 migrate_leds ":blue:=:green:"
49 ;;
50 dhp-1565-a1|\
51 dir-825-c1|\
52 dir-835-a1)
53 migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g"
54 ;;
55 dr344)
56 migrate_leds ":red:=:green:" ":yellow:=:green:"
57 ;;
58 gl-ar150)
59 migrate_leds "gl-ar150:wlan=gl-ar150:orange:wlan" "gl-ar150:lan=gl-ar150:green:lan" "gl-ar150:wan=gl-ar150:green:wan"
60 ;;
61 oolite-v1)
62 migrate_leds "oolite:=${board}"
63 ;;
64 wndap360|\
65 wndr3700|\
66 wnr2000|\
67 wnr2200)
68 migrate_leds "${board}:=netgear:"
69 ;;
70 wndr3700v4|\
71 wndr4300)
72 migrate_leds ":orange:=:amber:"
73 ;;
74 wnr1000-v2)
75 migrate_leds "wnr1000v2:=netgear:"
76 ;;
77 wnr612-v2)
78 migrate_leds "wnr612v2:=netgear:"
79 ;;
80 esac
81
82 [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
83
84 exit 0