[PATCH v4 0/3] leds: Add control of the voltage/current regulator to the LED core

From: Jean-Jacques Hiblot
Date: Fri Sep 20 2019 - 08:26:04 EST


This series makes it possible for the LED core to manage the power supply
of a LED. It uses the regulator API to disable/enable the power if when the
LED is turned on/off.
This is especially useful in situations where the LED driver/controller is
not supplying the power.
Because updating a regulator state can block, it is always defered to
set_brightness_delayed().

changes in v4:
- Add a new patch to make led_set_brightness_sync() use
led_set_brightness_nosleep() and then wait the work to be done
- Rework how the core knows how the regulator needs to be updated.

changes in v3:
- reword device-tree description
- reword commit log
- remove regulator updates from functions used in atomic context. If the
regulator must be updated, it is defered to a workqueue.
- Fix led_set_brightness_sync() to work with the non-blocking function
__led_set_brightness()

changes in v2:
- use devm_regulator_get_optional() to avoid using the dummy regulator and
do some unnecessary work

Jean-Jacques Hiblot (3):
led: make led_set_brightness_sync() use led_set_brightness_nosleep()
dt-bindings: leds: document the "power-supply" property
leds: Add control of the voltage/current regulator to the LED core

.../devicetree/bindings/leds/common.txt | 6 ++
drivers/leds/led-class.c | 17 ++++
drivers/leds/led-core.c | 77 +++++++++++++++++--
drivers/leds/leds.h | 3 +
include/linux/leds.h | 5 ++
5 files changed, 101 insertions(+), 7 deletions(-)

--
2.17.1