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

Reply via email to