From: Christian Lamparter Date: Tue, 28 Nov 2017 21:51:06 +0000 (+0100) Subject: base-files: unify get_dt_led helper function X-Git-Url: http://git.lede-project.org./?a=commitdiff_plain;h=da6fdce3652529ca255f66293645aeb28ad81eb3;p=openwrt%2Fstaging%2Fmkresin.git 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 Cc: John Crispin Cc: Hannu Nyman Signed-off-by: Christian Lamparter --- diff --git a/package/base-files/files/lib/functions/leds.sh b/package/base-files/files/lib/functions/leds.sh index 857e7e5392..83e775fada 100644 --- a/package/base-files/files/lib/functions/leds.sh +++ b/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" } diff --git a/target/linux/ipq806x/base-files/etc/diag.sh b/target/linux/ipq806x/base-files/etc/diag.sh index 7c9a9d082c..df4afd936c 100755 --- a/target/linux/ipq806x/base-files/etc/diag.sh +++ b/target/linux/ipq806x/base-files/etc/diag.sh @@ -2,12 +2,11 @@ # Copyright (C) 2016 Henryk Heisig hyniu@o2.pl . /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" diff --git a/target/linux/ipq806x/base-files/lib/ipq806x.sh b/target/linux/ipq806x/base-files/lib/ipq806x.sh index 940c7ef204..c4d2c8f258 100644 --- a/target/linux/ipq806x/base-files/lib/ipq806x.sh +++ b/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" -} 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 2c7a402dfb..187ae68a13 100755 --- a/target/linux/lantiq/base-files/etc/board.d/01_leds +++ b/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" diff --git a/target/linux/lantiq/base-files/etc/diag.sh b/target/linux/lantiq/base-files/etc/diag.sh index 70ed25cb80..4fb47bd273 100644 --- a/target/linux/lantiq/base-files/etc/diag.sh +++ b/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) diff --git a/target/linux/lantiq/base-files/lib/functions/lantiq.sh b/target/linux/lantiq/base-files/lib/functions/lantiq.sh index 8c2e0ce5c1..62c7a6b662 100644 --- a/target/linux/lantiq/base-files/lib/functions/lantiq.sh +++ b/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 }