summaryrefslogtreecommitdiff
path: root/target/linux/lantiq/base-files/etc/uci-defaults/01_led_migration
blob: 6ff4355853e2a7037630428f9554076e1bfd12cf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
#!/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
ARV452CQW|\
ARV7510PW22|\
ARV7519RW22|\
ARV752DPW|\
ARV752DPW22|\
ASL56026|\
BTHOMEHUBV2B|\
BTHOMEHUBV3A|\
BTHOMEHUBV5A|\
FRTZ7360SL|\
VG3503J)
	do_internet_led_rename
	;;
DGN3500*)
	migrate_leds "dgn3500:blue:wireless=dgn3500:green:wireless"
	;;
*)
	;;
esac

[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system

exit 0