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 <dev@kresin.me>
Cc: John Crispin <john@phrozen.org>
Cc: Hannu Nyman <hannu.nyman@iki.fi>
Signed-off-by: Christian Lamparter <chunkeey@gmail.com>
This commit is contained in:
Christian Lamparter 2017-11-28 22:51:06 +01:00 committed by John Crispin
parent a8d3d517d0
commit da6fdce365
6 changed files with 26 additions and 40 deletions

View file

@ -1,6 +1,18 @@
#!/bin/sh #!/bin/sh
# Copyright (C) 2013 OpenWrt.org # 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() { led_set_attr() {
[ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2" [ -f "/sys/class/leds/$1/$2" ] && echo "$3" > "/sys/class/leds/$1/$2"
} }

View file

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

View file

@ -62,15 +62,3 @@ ipq806x_board_detect() {
echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name echo "$IPQ806X_BOARD_NAME" > /tmp/sysinfo/board_name
echo "$IPQ806X_MODEL" > /tmp/sysinfo/model 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"
}

View file

@ -4,23 +4,23 @@
# based on ar71xx # based on ar71xx
# #
. /lib/functions/leds.sh
. /lib/functions/uci-defaults.sh . /lib/functions/uci-defaults.sh
. /lib/functions/lantiq.sh
board_config_update 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" [ -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" [ -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" [ -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" ] && { [ -n "$led_dsl" ] && {
led_internet="$(lantiq_get_dt_led internet)" led_internet="$(get_dt_led internet)"
if [ -n "$led_internet" ]; then if [ -n "$led_internet" ]; then
ucidef_set_led_default "dsl" "dsl" "$led_dsl" "0" ucidef_set_led_default "dsl" "dsl" "$led_dsl" "0"
ucidef_set_led_netdev "internet" "internet" "$led_internet" "pppoe-wan" ucidef_set_led_netdev "internet" "internet" "$led_internet" "pppoe-wan"

View file

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

View file

@ -1,17 +1,5 @@
#!/bin/sh #!/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() { lantiq_is_vdsl_system() {
grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo grep -qE "system type.*: (VR9|xRX200)" /proc/cpuinfo
} }