Signed-off-by: Hubert Feurstein <h.feurstein@xxxxxxxxx> --- Documentation/devicetree/bindings/leds/common.rst | 3 +++ drivers/led/core.c | 11 ++++++++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/leds/common.rst b/Documentation/devicetree/bindings/leds/common.rst index 5a592d67d..911a55f4f 100644 --- a/Documentation/devicetree/bindings/leds/common.rst +++ b/Documentation/devicetree/bindings/leds/common.rst @@ -12,3 +12,6 @@ Common leds properties * ``label``: The label for this LED. If omitted, the label is taken from the node name (excluding the unit address). + +* ``panic-indicator`` - This property specifies that the LED should be used as a + panic indicator. diff --git a/drivers/led/core.c b/drivers/led/core.c index 4bf19abcc..e727148a2 100644 --- a/drivers/led/core.c +++ b/drivers/led/core.c @@ -286,11 +286,16 @@ enum led_trigger trigger_by_name(const char *name) void led_of_parse_trigger(struct led *led, struct device_node *np) { - enum led_trigger trg; + enum led_trigger trg = LED_TRIGGER_MAX; const char *trigger; - trigger = of_get_property(np, "linux,default-trigger", NULL); - trg = trigger_by_name(trigger); + if (of_property_read_bool(np, "panic-indicator")) + trg = LED_TRIGGER_PANIC; + + if (trg == LED_TRIGGER_MAX) { + trigger = of_get_property(np, "linux,default-trigger", NULL); + trg = trigger_by_name(trigger); + } if (trg == LED_TRIGGER_MAX) { trigger = of_get_property(np, "barebox,default-trigger", NULL); -- 2.24.0 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox