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>
v19.07.3_mercusys_ac12_duma
Christian Lamparter 7 years ago committed by John Crispin
parent a8d3d517d0
commit da6fdce365

@ -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"
}

@ -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"

@ -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"
}

@ -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"

@ -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)

@ -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
}

Loading…
Cancel
Save