1#!/bin/sh
2#
3# Copyright (C) 2013 OpenWrt.org
4#
5
6LED_OPTIONS_CHANGED=0
7
8. /lib/functions.sh
9
10do_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
38migrate_leds()
39{
40	config_load system
41	config_foreach do_led_update_sysfs led "$@"
42}
43
44. /lib/ar71xx.sh
45
46board=$(ar71xx_board_name)
47
48case "$board" in
49dhp-1565-a1|\
50dir-825-c1|\
51dir-835-a1)
52	migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g"
53	;;
54
55wndap360)
56	migrate_leds "wndap360:=netgear:"
57	;;
58
59wndr3700)
60	migrate_leds "wndr3700:=netgear:"
61	;;
62
63wndr3700v4 | \
64wndr4300)
65	migrate_leds ":orange:=:amber:"
66	;;
67
68wnr2000)
69	migrate_leds "wnr2000:=netgear:"
70	;;
71
72wnr2200)
73	migrate_leds "wnr2200:=netgear:"
74	;;
75
76wnr612-v2)
77	migrate_leds "wnr612v2:=netgear:"
78	;;
79
80wnr1000-v2)
81	migrate_leds "wnr1000v2:=netgear:"
82	;;
83
84*)
85	;;
86esac
87
88[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
89
90exit 0
91