Re: [PATCH v7 0/6] Add a multicolor LED driver for groups of monochromatic LEDs

From: Lee Jones
Date: Wed Mar 15 2023 - 11:54:35 EST


On Mon, 02 Jan 2023, Jean-Jacques Hiblot wrote:

>
> Some HW design implement multicolor LEDs with several monochromatic LEDs.
> Grouping the monochromatic LEDs allows to configure them in sync and use
> the triggers.
> The PWM multicolor LED driver implements such grouping but only for
> PWM-based LEDs. As this feature is also desirable for the other types of
> LEDs, this series implements it for any kind of LED device.
>
> changes v6->v7:
> - in led_mcg_probe() increment the counter at the end of the loop for
> clarity.
>
> changes v5->v6:
> - restore sysfs access to the leds when the device is removed
>
> changes v4->v5:
> - Use "depends on COMPILE_TEST || OF" in Kconfig to indicate that OF
> is a functional requirement, not just a requirement for the
> compilation.
> - in led_mcg_probe() check if devm_of_led_get_optional() returns an
> error before testing for the end of the list.
> - use sysfs_emit() instead of sprintf() in color_show().
> - some grammar fixes in the comments and the commit logs.
>
> changes v2->v3, only minor changes:
> - rephrased the Kconfig descritpion
> - make the sysfs interface of underlying LEDs read-only only if the probe
> is successful.
> - sanitize the header files
> - removed the useless call to dev_set_drvdata()
> - use dev_fwnode() to get the fwnode to the device.
>
> changes v1->v2:
> - Followed Rob Herrings's suggestion to make the dt binding much simpler.
> - Added a patch to store the color property of a LED in its class
> structure (struct led_classdev).
>
>
> Jean-Jacques Hiblot (6):
> devres: provide devm_krealloc_array()
> leds: class: simplify the implementation of devm_of_led_get()
> leds: provide devm_of_led_get_optional()
> leds: class: store the color index in struct led_classdev
> dt-bindings: leds: Add binding for a multicolor group of LEDs
> leds: Add a multicolor LED driver to group monochromatic LEDs
>
> Documentation/ABI/testing/sysfs-class-led | 9 +
> .../bindings/leds/leds-group-multicolor.yaml | 64 +++++++
> drivers/leds/led-class.c | 65 +++++--
> drivers/leds/rgb/Kconfig | 10 ++
> drivers/leds/rgb/Makefile | 1 +
> drivers/leds/rgb/leds-group-multicolor.c | 166 ++++++++++++++++++
> include/linux/device.h | 13 ++
> include/linux/leds.h | 3 +
> 8 files changed, 317 insertions(+), 14 deletions(-)
> create mode 100644 Documentation/devicetree/bindings/leds/leds-group-multicolor.yaml
> create mode 100644 drivers/leds/rgb/leds-group-multicolor.c

Most patches are good to go.

Once you've fixed up patch 6, I'll apply the set.

--
Lee Jones [李琼斯]