From dec14ac436325abddd0ded06f34e95425fc9a75e Mon Sep 17 00:00:00 2001 From: Florian Eckert Date: Wed, 5 Feb 2020 09:23:27 +0100 Subject: [PATCH] base-files: add new application led trigger backend For now we have only kernel LED trigger support. With this change it is now possible to use application triggers. If we configure a LED with a non kernel trigger, then we check on every restart and boot of the LED service if we have this trigger as an application in "/usr/libexec/led-trigger". If this file with the name is found, then we execute this to init the LED. Possible use cases are: - Start/Stop/Restart an application led trigger service for this led - Init a LED that is configured by a hotplug script (VPN tunnel established) Signed-off-by: Florian Eckert --- package/base-files/files/etc/init.d/led | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/package/base-files/files/etc/init.d/led b/package/base-files/files/etc/init.d/led index 277fb4e76f..51cb8b5178 100755 --- a/package/base-files/files/etc/init.d/led +++ b/package/base-files/files/etc/init.d/led @@ -31,10 +31,11 @@ load_led() { config_get gpio $1 gpio "0" config_get inverted $1 inverted "0" - if [ "$trigger" = "rssi" ]; then - # handled by rssileds userspace process - return - fi + # execute application led trigger + [ -f "/usr/libexec/led-trigger/${trigger}" ] && { + . "/usr/libexec/led-trigger/${trigger}" + return 0 + } [ "$trigger" = "usbdev" ] && { # Backward compatibility: translate to the new trigger