[PATCH leds + devicetree v1 0/2] Parse DT property `trigger-sources` for netdev LED trigger

From: Marek Behún
Date: Mon Sep 14 2020 - 19:42:06 EST


Hi,

the `trigger-sources` LED DT property is currently only implemented
for ledtrig-usbport.

Lets implement it for the netdev LED trigger.

In this proposal the specific netdev LED trigger mode is determined
from the `function` LED DT property.

Example:
eth0: ethernet@30000 {
compatible = "xyz";
#trigger-source-cells = <0>;
};

led {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LINK;
trigger-sources = <&eth0>;
};

When led is registered, the netdev trigger is automatically activated
and set to light the LED on if eth0 is linked.

Please let me know if this binding is OK, or if the binding should
instead of the `function` property determine the trigger settings from
arguments of the `trigger-sources` property :
led {
color = <LED_COLOR_ID_GREEN>;
trigger-sources = <&eth0 (NETDEV_ATTR_LINK | NETDEV_ATTR_RX)>;
};

I prefer the first binding, since we already have the `function`
property. Multiple modes can be achieved by string array, but this is
not yet implemented:
led {
color = <LED_COLOR_ID_GREEN>;
function = LED_FUNCTION_LINK, LED_FUNCTION_ACTIVITY;
trigger-sources = <&eth0>;
};

Marek

Marek Behún (2):
leds: trigger: add DT `trigger-source` validating method
leds: trigger: netdev: allow parsing `trigger-sources` from device
tree

drivers/leds/led-triggers.c | 26 +++++---
drivers/leds/trigger/ledtrig-netdev.c | 91 ++++++++++++++++++++++++++-
include/dt-bindings/leds/common.h | 1 +
include/linux/leds.h | 6 ++
4 files changed, 115 insertions(+), 9 deletions(-)

--
2.26.2