leds: class: If no default trigger is given, make hw_control trigger the default...
authorHeiner Kallweit <hkallweit1@gmail.com>
Fri, 22 Dec 2023 21:32:28 +0000 (22:32 +0100)
committerLee Jones <lee@kernel.org>
Thu, 7 Mar 2024 08:47:56 +0000 (08:47 +0000)
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>
drivers/leds/led-class.c

index ba1be15..24fcff6 100644 (file)
@@ -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