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