summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAstrid Rost <astrid.rost@axis.com>2023-07-03 15:03:13 +0200
committerLee Jones <lee@kernel.org>2023-07-28 09:26:22 +0100
commit7cd7a2995ecde065a486e077deb002426975fa40 (patch)
treed57d18432d6bc206ff4065ce7761327c686f3cc0
parent713899c0627c440851a543b36b0ffe36fade2622 (diff)
led: led-class: Read max-brightness from devicetree
Normally, the maximum brightness is determined by the hardware, and this property is not required. This property is used to set a software limit. It could happen that an LED is made so bright that it gets damaged or causes damage due to restrictions in a specific system, such as mounting conditions. Note that this flag is mainly used for PWM-LEDs, where it is not possible to map brightness to current. Drivers for other controllers should use led-max-microamp. Reviewed-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Signed-off-by: Astrid Rost <astrid.rost@axis.com> Acked-by: Jacek Anaszewski <jacek.anaszewski@gmail.com> Link: https://lore.kernel.org/r/20230703130313.548519-3-astrid.rost@axis.com Signed-off-by: Lee Jones <lee@kernel.org>
-rw-r--r--drivers/leds/led-class.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/leds/led-class.c b/drivers/leds/led-class.c
index 6dae56b914fe..4758da2b59cf 100644
--- a/drivers/leds/led-class.c
+++ b/drivers/leds/led-class.c
@@ -457,6 +457,10 @@ int led_classdev_register_ext(struct device *parent,
if (fwnode_property_present(init_data->fwnode,
"retain-state-shutdown"))
led_cdev->flags |= LED_RETAIN_AT_SHUTDOWN;
+
+ fwnode_property_read_u32(init_data->fwnode,
+ "max-brightness",
+ &led_cdev->max_brightness);
}
} else {
proposed_name = led_cdev->name;