new file mode 100644
@@ -0,0 +1,54 @@
+#!/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;
+}
+
+migrate_leds()
+{
+ config_load system
+ config_foreach do_led_update_sysfs led "$@"
+}
+
+board=$(board_name)
+
+case "$board" in
+*)
+ return 0
+ ;;
+esac
+
+[ "$LED_OPTIONS_CHANGED" = "1" ] && uci commit system
+
+exit 0
With transition from ar71xx to ath79 some of devices change their naming of LEDs. When upgrading from ar71xx target images this will require the user to adjust previously working configuration. This commit adds migration script which can be used to rename old names to new ones. With this previously working configuration will be automatically adjusted, wihtout user intervention. Signed-off-by: Tomasz Maciej Nowak <tomek_n@o2.pl> --- .../etc/uci-defaults/04_led_migration | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 target/linux/ath79/base-files/etc/uci-defaults/04_led_migration