Hi Dan,
On 15/07/2019 20:59, Dan Murphy wrote:
JJ
On 7/15/19 10:56 AM, Jean-Jacques Hiblot wrote:
A LED is usually powered by a voltage/current regulator. Let the LED
core
know about it. This allows the LED core to turn on or off the power
supply
as needed.
This allows the LED core to turn on or off managed power supplies.
Signed-off-by: Jean-Jacques Hiblot <jjhiblot@xxxxxx>
---
if (led_cdev->flags & LED_BRIGHT_HW_CHANGED) {
ret = led_add_brightness_hw_changed(led_cdev);
if (ret) {
diff --git a/drivers/leds/led-core.c b/drivers/leds/led-core.c
index 7107cd7e87cf..a12b880b0a2f 100644
--- a/drivers/leds/led-core.c
+++ b/drivers/leds/led-core.c
@@ -23,6 +23,33 @@ EXPORT_SYMBOL_GPL(leds_list_lock);
LIST_HEAD(leds_list);
EXPORT_SYMBOL_GPL(leds_list);
+static bool __led_need_regulator_update(struct led_classdev
*led_cdev,
+ int brightness)
+{
+ bool new_state = (brightness != LED_OFF);
+
+ return led_cdev->regulator && led_cdev->regulator_state !=
new_state;
+}
+
+static int __led_handle_regulator(struct led_classdev *led_cdev,
+ int brightness)
+{
+ int rc;
Should there be a check for the regulator pointer.
If (!led_cdev->regulator)
return 0;
Not required because __led_need_regulator_update() returns false if
led_cdev->regulator is NULL.
Thanks for the review
JJ
Otherwise
Reviewed-by: Dan Murphy <dmurphy@xxxxxx>
<snip>