[OpenWrt-Devel] [PATCH v2 10/12] lantiq: use dsl led defined in DTS

Mathias Kresin openwrt at kresin.me
Thu Dec 24 07:28:55 EST 2015


dsl_control (dsl_notify.sh) is the only process which is aware of the
state of the atm/ptm interface. Use the dsl led exclusive for the dsl
line state.

On boards which don't have a distinct internet and a dsl led, let the
netdev status of the atm interface trigger the shared led.

Triggering the shared led according to the status of the ppp interface
isn't suitable, since the led would be switched of if the ppp
connection goes down, but the line is still in sync.

Signed-off-by: Mathias Kresin <openwrt at kresin.me>
---
 target/linux/lantiq/base-files/etc/board.d/01_leds | 19 +++++++++++--------
 target/linux/lantiq/base-files/sbin/dsl_notify.sh  | 14 +++++++-------
 target/linux/lantiq/dts/ARV452CQW.dts              |  2 +-
 target/linux/lantiq/dts/VG3503J.dtsi               |  2 +-
 4 files changed, 20 insertions(+), 17 deletions(-)

diff --git a/target/linux/lantiq/base-files/etc/board.d/01_leds b/target/linux/lantiq/base-files/etc/board.d/01_leds
index 7a25b6d..a95c72c 100755
--- a/target/linux/lantiq/base-files/etc/board.d/01_leds
+++ b/target/linux/lantiq/base-files/etc/board.d/01_leds
@@ -12,14 +12,21 @@ board_config_update
 [ -n "$(lantiq_is_dt_led_chosen wifi)" ] && ucidef_set_led_wlan "wifi" "wifi" "$(lantiq_get_dt_led_chosen wifi)" "phy0tpt"
 [ -n "$(lantiq_is_dt_led_chosen usb)" ] && ucidef_set_led_usbdev "usb" "usb" "$(lantiq_get_dt_led_chosen usb)" "1-1"
 [ -n "$(lantiq_is_dt_led_chosen usb2)" ] && ucidef_set_led_usbdev "usb2" "usb2" "$(lantiq_get_dt_led_chosen usb2)" "2-1"
-[ -n "$(lantiq_is_dt_led_chosen internet)" ] && ucidef_set_led_netdev "internet" "internet" "$(lantiq_get_dt_led_chosen internet)" "pppoe-wan"
+
+[ -n "$(lantiq_is_dt_led_chosen internet)" ] && {
+	interface="nas0"
+
+	[ -n "$(lantiq_is_dt_led_chosen dsl)" ] && {
+		interface="pppoe-wan"
+		ucidef_set_led_default "dsl" "dsl" "$(lantiq_get_dt_led_chosen dsl)" "0"
+	}
+
+	ucidef_set_led_netdev "internet" "internet" "$(lantiq_get_dt_led_chosen internet)" "$interface"
+}
 
 board=$(lantiq_board_name)
 
 case "$board" in
-VG3503J)
-	ucidef_set_led_netdev "vdsl" "vdsl" "bt:green:dsl" "ptm0"
-	;;
 BTHOMEHUBV2B)
 	ucidef_set_led_default "power" "power" "soc:blue:power" "1"
 	;;
@@ -34,19 +41,16 @@ VGV7510KW22)
 	ucidef_set_led_default "power" "power" "power" "1"
 	ucidef_set_led_default "power2" "power2" "power2" "0"
 	ucidef_set_led_wlan "wifi" "wifi" "wifi" "phy0radio"
-	ucidef_set_led_netdev "dsl" "dsl" "dsl" "nas0"
 	;;
 VGV7519)
 	ucidef_set_led_default "power" "power" "power" "0"
 	ucidef_set_led_default "power2" "power2" "power2" "1"
 	ucidef_set_led_wlan "wifi" "wifi" "wireless_yellow" "phy0radio"
-	ucidef_set_led_netdev "broadband_yellow" "broadband_yellow" "broadband_yellow" "nas0"
 	;;
 P2812HNUF*)
 	ucidef_set_led_default "power" "power" "power" "0"
 	ucidef_set_led_default "power2" "power2" "power2" "1"
 	ucidef_set_led_wlan "wifi" "wifi" "wireless_green" "phy0radio"
-	ucidef_set_led_netdev "dsl" "dsl" "dsl" "nas0"
 	;;
 ARV7519RW22)
 	ucidef_set_led_default "power" "power" "power" "1"
@@ -55,7 +59,6 @@ ARV7519RW22)
 ARV8539PW22)
         ucidef_set_led_default "power" "power" "soc:green:power" "1"
         ucidef_set_led_default "power2" "power2" "soc:red:power" "0"
-        ucidef_set_led_netdev "dsl" "dsl" "soc:green:dsl" "nas0"
         ;;
 *)
 	;;
diff --git a/target/linux/lantiq/base-files/sbin/dsl_notify.sh b/target/linux/lantiq/base-files/sbin/dsl_notify.sh
index b514e25..01d0488 100755
--- a/target/linux/lantiq/base-files/sbin/dsl_notify.sh
+++ b/target/linux/lantiq/base-files/sbin/dsl_notify.sh
@@ -16,15 +16,15 @@
 include /lib/network
 scan_interfaces
 
-local default
+local led
 config_load system
-config_get default led_adsl default
-if [ "$default" != 1 ]; then
+config_get led led_dsl sysfs
+if [ -n "$led" ]; then
 	case "$DSL_INTERFACE_STATUS" in
-	  "HANDSHAKE")  led_timer dsl 500 500;;
-	  "TRAINING")   led_timer dsl 200 200;;
-	  "UP")		led_on dsl;;
-	  *)		led_off dsl
+	  "HANDSHAKE")  led_timer $led 500 500;;
+	  "TRAINING")   led_timer $led 200 200;;
+	  "UP")		led_on $led;;
+	  *)		led_off $led
 	esac
 fi
 
diff --git a/target/linux/lantiq/dts/ARV452CQW.dts b/target/linux/lantiq/dts/ARV452CQW.dts
index 320e5f5..38618f1 100644
--- a/target/linux/lantiq/dts/ARV452CQW.dts
+++ b/target/linux/lantiq/dts/ARV452CQW.dts
@@ -9,7 +9,7 @@
 		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
 
 		leds {
-			dsl = &dsl;
+			internet = &dsl;
 			power1 = &power1;
 			usb = &usb;
 			wifi = &wifi;
diff --git a/target/linux/lantiq/dts/VG3503J.dtsi b/target/linux/lantiq/dts/VG3503J.dtsi
index 50ab0b6..e567923 100644
--- a/target/linux/lantiq/dts/VG3503J.dtsi
+++ b/target/linux/lantiq/dts/VG3503J.dtsi
@@ -7,7 +7,7 @@
 		bootargs = "console=ttyLTQ0,115200 init=/etc/preinit";
 
 		leds {
-			dsl = &dsl;
+			internet = &dsl;
 			power = &power;
 			power2 = &power2;
 		};
-- 
1.9.1
_______________________________________________
openwrt-devel mailing list
openwrt-devel at lists.openwrt.org
https://lists.openwrt.org/cgi-bin/mailman/listinfo/openwrt-devel



More information about the openwrt-devel mailing list