From: Heiner Kallweit <hkallweit1@gmail.com>
Date: Fri, 22 Dec 2023 21:32:28 +0000 (+0100)
Subject: leds: class: If no default trigger is given, make hw_control trigger the default... 
X-Git-Tag: for-linus-6.9~316^2~32
X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=66601a29bb23;p=users%2Fdwmw2%2Flinux.git

leds: class: If no default trigger is given, make hw_control trigger the default trigger

If a hw_control_trigger is defined, it's usually desirable to make it
the default trigger. Therefore make it the default trigger, except
the driver explicitly set a default trigger.

Signed-off-by: Heiner Kallweit <hkallweit1@gmail.com>
Link: https://lore.kernel.org/r/f33543de-3800-488f-a779-1fa282614462@gmail.com
Signed-off-by: Lee Jones <lee@kernel.org>
---

diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
index ba1be15cfd8ea..24fcff682b24a 100644
--- a/drivers/leds/led-class.c
+++ b/drivers/leds/led-class.c
@@ -552,6 +552,12 @@ int led_classdev_register_ext(struct device *parent,
 	led_init_core(led_cdev);
 
 #ifdef CONFIG_LEDS_TRIGGERS
+	/*
+	 * If no default trigger was given and hw_control_trigger is set,
+	 * make it the default trigger.
+	 */
+	if (!led_cdev->default_trigger && led_cdev->hw_control_trigger)
+		led_cdev->default_trigger = led_cdev->hw_control_trigger;
 	led_trigger_set_default(led_cdev);
 #endif