04_led_migration 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192
  1. #!/bin/sh
  2. #
  3. # Copyright (C) 2013 OpenWrt.org
  4. #
  5. LED_OPTIONS_CHANGED=0
  6. . /lib/functions.sh
  7. do_led_update_sysfs()
  8. {
  9. local cfg=$1; shift
  10. local tuples="$@"
  11. local sysfs
  12. local name
  13. config_get sysfs $cfg sysfs
  14. config_get name $cfg name
  15. [ -z "$sysfs" ] && return
  16. for tuple in $tuples; do
  17. local old=${tuple%=*}
  18. local new=${tuple#*=}
  19. local new_sysfs
  20. new_sysfs=$(echo ${sysfs} | sed "s/${old}/${new}/")
  21. [ "$new_sysfs" = "$sysfs" ] && continue
  22. uci set system.${cfg}.sysfs="${new_sysfs}"
  23. LED_OPTIONS_CHANGED=1
  24. logger -t led-migration "sysfs option of LED \"${name}\" updated to ${new_sysfs}"
  25. done;
  26. }
  27. migrate_leds()
  28. {
  29. config_load system
  30. config_foreach do_led_update_sysfs led "$@"
  31. }
  32. board=$(board_name)
  33. case "$board" in
  34. dhp-1565-a1|\
  35. dir-825-c1|\
  36. dir-835-a1)
  37. migrate_leds ":orange:=:amber:" ":wifi_bgn=:wlan2g"
  38. ;;
  39. dr344)
  40. migrate_leds ":red:=:green:" ":yellow:=:green:"
  41. ;;
  42. wndap360)
  43. migrate_leds "wndap360:=netgear:"
  44. ;;
  45. wndr3700)
  46. migrate_leds "wndr3700:=netgear:"
  47. ;;
  48. wndr3700v4 | \
  49. wndr4300)
  50. migrate_leds ":orange:=:amber:"
  51. ;;
  52. wnr2000)
  53. migrate_leds "wnr2000:=netgear:"
  54. ;;
  55. wnr2200)
  56. migrate_leds "wnr2200:=netgear:"
  57. ;;
  58. wnr612-v2)
  59. migrate_leds "wnr612v2:=netgear:"
  60. ;;
  61. wnr1000-v2)
  62. migrate_leds "wnr1000v2:=netgear:"
  63. ;;
  64. *)
  65. ;;
  66. esac
  67. [ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
  68. exit 0