I wanted to add status LEDs support to my imx6 based board and have found out, that I could use diag.sh script found in ramips platform, which seems to be also shared in a few other platforms:
4801276bc2078c5bcf03003c831e3b0a target/linux/ramips/base-files/etc/diag.sh 4801276bc2078c5bcf03003c831e3b0a target/linux/ipq40xx/base-files/etc/diag.sh 4801276bc2078c5bcf03003c831e3b0a target/linux/ath79/base-files/etc/diag.sh And @chunkeey suggested to me, that I can also add lantiq, ipq806x and apm821xx to the list of platforms which could share this generic diag.sh. I've extended the base diag.sh in a way, that if it detects any of the DTS LED aliases, then it would use the generic DTS set_led_state code. The code in platform's diag.sh has moved to base-files package in this commit: base-files: diag.sh: Make it more generic towards DTS so it could be reused Signed-off-by: Petr Štetiar <[email protected]> --- Changes since v1: * added apm821xx, ipq806x and lantiq platforms with generic diag.sh (@chunkeey) * tried to improve the commit message target/linux/apm821xx/base-files/etc/diag.sh | 46 ---------------------------- target/linux/ath79/base-files/etc/diag.sh | 45 --------------------------- target/linux/ipq40xx/base-files/etc/diag.sh | 45 --------------------------- target/linux/ipq806x/base-files/etc/diag.sh | 46 ---------------------------- target/linux/lantiq/base-files/etc/diag.sh | 46 ---------------------------- target/linux/ramips/base-files/etc/diag.sh | 45 --------------------------- 6 files changed, 273 deletions(-) delete mode 100755 target/linux/apm821xx/base-files/etc/diag.sh delete mode 100755 target/linux/ath79/base-files/etc/diag.sh delete mode 100755 target/linux/ipq40xx/base-files/etc/diag.sh delete mode 100755 target/linux/ipq806x/base-files/etc/diag.sh delete mode 100644 target/linux/lantiq/base-files/etc/diag.sh delete mode 100644 target/linux/ramips/base-files/etc/diag.sh diff --git a/target/linux/apm821xx/base-files/etc/diag.sh b/target/linux/apm821xx/base-files/etc/diag.sh deleted file mode 100755 index 96d42a4..0000000 --- a/target/linux/apm821xx/base-files/etc/diag.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh - -. /lib/functions.sh -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit_regular) - status_led_blink_preinit_regular - ;; - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} diff --git a/target/linux/ath79/base-files/etc/diag.sh b/target/linux/ath79/base-files/etc/diag.sh deleted file mode 100755 index 3ea7ac1..0000000 --- a/target/linux/ath79/base-files/etc/diag.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} diff --git a/target/linux/ipq40xx/base-files/etc/diag.sh b/target/linux/ipq40xx/base-files/etc/diag.sh deleted file mode 100755 index 3ea7ac1..0000000 --- a/target/linux/ipq40xx/base-files/etc/diag.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} diff --git a/target/linux/ipq806x/base-files/etc/diag.sh b/target/linux/ipq806x/base-files/etc/diag.sh deleted file mode 100755 index 9e6b491..0000000 --- a/target/linux/ipq806x/base-files/etc/diag.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# Copyright (C) 2016 Henryk Heisig [email protected] - -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} diff --git a/target/linux/lantiq/base-files/etc/diag.sh b/target/linux/lantiq/base-files/etc/diag.sh deleted file mode 100644 index 06cf7e2..0000000 --- a/target/linux/lantiq/base-files/etc/diag.sh +++ /dev/null @@ -1,46 +0,0 @@ -#!/bin/sh -# Copyright (C) 2010-2015 OpenWrt.org - -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} diff --git a/target/linux/ramips/base-files/etc/diag.sh b/target/linux/ramips/base-files/etc/diag.sh deleted file mode 100644 index 3ea7ac1..0000000 --- a/target/linux/ramips/base-files/etc/diag.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/sh - -. /lib/functions/leds.sh - -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" - - case "$1" in - preinit) - status_led_blink_preinit - ;; - failsafe) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$failsafe" - status_led_blink_failsafe - ;; - preinit_regular) - status_led_blink_preinit_regular - ;; - upgrade) - [ -n "$running" ] && { - status_led="$running" - status_led_off - } - status_led="$upgrade" - status_led_blink_preinit_regular - ;; - done) - status_led_off - [ -n "$running" ] && { - status_led="$running" - status_led_on - } - ;; - esac -} -- 1.9.1 _______________________________________________ openwrt-devel mailing list [email protected] https://lists.openwrt.org/mailman/listinfo/openwrt-devel
