Просмотр исходного кода

base-files: unify get_dt_led helper function

Lantiq and IPQ806X (which includes IPQ40XX) both define the
same custom function {ipq806x|lantiq}_get_dt_led.

This patch moves the function into the base-file package at
lib/functions/leds.sh to make it more accessible for other
targets as well.

Cc: Mathias Kresin <[email protected]>
Cc: John Crispin <[email protected]>
Cc: Hannu Nyman <[email protected]>
Signed-off-by: Christian Lamparter <[email protected]>
Christian Lamparter 8 лет назад
Родитель
Сommit
da6fdce365

+ 12 - 0
package/base-files/files/lib/functions/leds.sh

@@ -1,6 +1,18 @@
 #!/bin/sh
 # Copyright (C) 2013 OpenWrt.org
 
+get_dt_led() {
+	local label
+	local ledpath
+	local basepath="/proc/device-tree"
+	local nodepath="$basepath/aliases/led-$1"
+
+	[ -f "$nodepath" ] && ledpath=$(cat "$nodepath")
+	[ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label")
+
+	echo "$label"
+}
+
 led_set_attr() {
 	[ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
 }

+ 4 - 5
target/linux/ipq806x/base-files/etc/diag.sh

@@ -2,12 +2,11 @@
 # Copyright (C) 2016 Henryk Heisig [email protected]
 
 . /lib/functions/leds.sh
-. /lib/ipq806x.sh
 
-boot="$(ipq806x_get_dt_led boot)"
-failsafe="$(ipq806x_get_dt_led failsafe)"
-running="$(ipq806x_get_dt_led running)"
-upgrade="$(ipq806x_get_dt_led upgrade)"
+boot="$(get_dt_led boot)"
+failsafe="$(get_dt_led failsafe)"
+running="$(get_dt_led running)"
+upgrade="$(get_dt_led upgrade)"
 
 set_state() {
 	status_led="$boot"

+ 0 - 12
target/linux/ipq806x/base-files/lib/ipq806x.sh

@@ -62,15 +62,3 @@ ipq806x_board_detect() {
 	echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name
 	echo "$IPQ806X_MODEL" > /tmp/sysinfo/model
 }
-
-ipq806x_get_dt_led() {
-	local label
-	local ledpath
-	local basepath="/proc/device-tree"
-	local nodepath="$basepath/aliases/led-$1"
-
-	[ -f "$nodepath" ] && ledpath=$(cat "$nodepath")
-	[ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label")
-
-	echo "$label"
-}

+ 6 - 6
target/linux/lantiq/base-files/etc/board.d/01_leds

@@ -4,23 +4,23 @@
 # based on ar71xx
 #
 
+. /lib/functions/leds.sh
 . /lib/functions/uci-defaults.sh
-. /lib/functions/lantiq.sh
 
 board_config_update
 
-led_wifi="$(lantiq_get_dt_led wifi)"
+led_wifi="$(get_dt_led wifi)"
 [ -n "$led_wifi" ] && ucidef_set_led_wlan "wifi" "wifi" "$led_wifi" "phy0tpt"
 
-led_usb="$(lantiq_get_dt_led usb)"
+led_usb="$(get_dt_led usb)"
 [ -n "$led_usb" ] && ucidef_set_led_usbdev "usb" "usb" "$led_usb" "1-1"
 
-led_usb2="$(lantiq_get_dt_led usb2)"
+led_usb2="$(get_dt_led usb2)"
 [ -n "$led_usb2" ] && ucidef_set_led_usbdev "usb2" "usb2" "$led_usb2" "2-1"
 
-led_dsl="$(lantiq_get_dt_led dsl)"
+led_dsl="$(get_dt_led dsl)"
 [ -n "$led_dsl" ] && {
-	led_internet="$(lantiq_get_dt_led internet)"
+	led_internet="$(get_dt_led internet)"
 	if [ -n "$led_internet" ]; then
 		ucidef_set_led_default "dsl" "dsl" "$led_dsl" "0"
 		ucidef_set_led_netdev "internet" "internet" "$led_internet" "pppoe-wan"

+ 4 - 5
target/linux/lantiq/base-files/etc/diag.sh

@@ -2,14 +2,13 @@
 # Copyright (C) 2010-2015 OpenWrt.org
 
 . /lib/functions/leds.sh
-. /lib/functions/lantiq.sh
 
-boot="$(lantiq_get_dt_led boot)"
-failsafe="$(lantiq_get_dt_led failsafe)"
-running="$(lantiq_get_dt_led running)"
+boot="$(get_dt_led boot)"
+failsafe="$(get_dt_led failsafe)"
+running="$(get_dt_led running)"
 
 set_state() {
-    status_led="$boot"
+	status_led="$boot"
 
 	case "$1" in
 	preinit)

+ 0 - 12
target/linux/lantiq/base-files/lib/functions/lantiq.sh

@@ -1,17 +1,5 @@
 #!/bin/sh
 
-lantiq_get_dt_led() {
-	local label
-	local ledpath
-	local basepath="/proc/device-tree"
-	local nodepath="$basepath/aliases/led-$1"
-
-	[ -f "$nodepath" ] && ledpath=$(cat "$nodepath")
-	[ -n "$ledpath" ] && label=$(cat "$basepath$ledpath/label")
-
-	echo "$label"
-}
-
 lantiq_is_vdsl_system() {
 	grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo
 }