mbox series

[v7,0/5] leds: add new LED driver for TI LP5812

Message ID 20250422190121.46839-1-trannamatk@gmail.com
Headers show
Series leds: add new LED driver for TI LP5812 | expand

Message

Nam Tran April 22, 2025, 7:01 p.m. UTC
This patch series adds support for the TI/National Semiconductor LP5812
4x3 matrix RGB LED driver. The driver supports features such as autonomous
animation and time-cross-multiplexing (TCM) for dynamic LED effects.

Signed-off-by: Nam Tran <trannamatk@gmail.com>
---
Changes in v7:
- Mark `chip_leds_map` as const.
- Use consistent `ret` initialization.
- Simplify the function `set_mix_sel_led()`.
- Refactor `dev_config_show()` and `led_auto_animation_show()` to avoid temp buffer, malloc/free.
- Simplify the code and ensure consistent use of mutex lock/unlock in show/store functions.
- Remove `total_leds` and `total_aeu`.
- Link to v6: https://lore.kernel.org/linux-leds/20250419184333.56617-1-trannamatk@gmail.com/

Changes in v6:
- Add `vcc-supply` property to describe the LP5812 power supply.
- Remove `chan-name` property and entire LED subnodes, as they are not needed.
- Update LP5812 LED driver node to Raspberry Pi 4 B Device Tree, based on updated binding.
- Link to v5: https://lore.kernel.org/linux-leds/20250414145742.35713-1-trannamatk@gmail.com/

Changes in v5:
- Rebase on v6.15-rc2
- Removed unused functions (lp5812_dump_regs, lp5812_update_bit).
- Address Krzysztof's review comments
- Link to v4: https://lore.kernel.org/linux-leds/20250405183246.198568-1-trannamatk@gmail.com/
---

Nam Tran (5):
  dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver
  leds: add TI/National Semiconductor LP5812 LED Driver
  docs: ABI: Document LP5812 LED sysfs interfaces
  docs: leds: Document TI LP5812 LED driver
  arm64: dts: Add LP5812 LED node for Raspberry Pi 4 Model B

 .../ABI/testing/sysfs-bus-i2c-devices-lp5812  |  144 +
 .../devicetree/bindings/leds/ti,lp5812.yaml   |   46 +
 Documentation/leds/leds-lp5812.rst            |   79 +
 MAINTAINERS                                   |   12 +
 .../arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts |   10 +
 drivers/leds/Kconfig                          |   16 +
 drivers/leds/Makefile                         |    1 +
 drivers/leds/leds-lp5812.c                    | 2736 +++++++++++++++++
 drivers/leds/leds-lp5812.h                    |  348 +++
 9 files changed, 3392 insertions(+)
 create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-lp5812
 create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
 create mode 100644 Documentation/leds/leds-lp5812.rst
 create mode 100644 drivers/leds/leds-lp5812.c
 create mode 100644 drivers/leds/leds-lp5812.h


base-commit: a33b5a08cbbdd7aadff95f40cbb45ab86841679e

Comments

Lee Jones April 25, 2025, 10:11 a.m. UTC | #1
On Wed, 23 Apr 2025, Nam Tran wrote:

> This patch series adds support for the TI/National Semiconductor LP5812
> 4x3 matrix RGB LED driver. The driver supports features such as autonomous
> animation and time-cross-multiplexing (TCM) for dynamic LED effects.
> 
> Signed-off-by: Nam Tran <trannamatk@gmail.com>
> ---
> Changes in v7:
> - Mark `chip_leds_map` as const.
> - Use consistent `ret` initialization.
> - Simplify the function `set_mix_sel_led()`.
> - Refactor `dev_config_show()` and `led_auto_animation_show()` to avoid temp buffer, malloc/free.
> - Simplify the code and ensure consistent use of mutex lock/unlock in show/store functions.
> - Remove `total_leds` and `total_aeu`.
> - Link to v6: https://lore.kernel.org/linux-leds/20250419184333.56617-1-trannamatk@gmail.com/
> 
> Changes in v6:
> - Add `vcc-supply` property to describe the LP5812 power supply.
> - Remove `chan-name` property and entire LED subnodes, as they are not needed.
> - Update LP5812 LED driver node to Raspberry Pi 4 B Device Tree, based on updated binding.
> - Link to v5: https://lore.kernel.org/linux-leds/20250414145742.35713-1-trannamatk@gmail.com/
> 
> Changes in v5:
> - Rebase on v6.15-rc2
> - Removed unused functions (lp5812_dump_regs, lp5812_update_bit).
> - Address Krzysztof's review comments
> - Link to v4: https://lore.kernel.org/linux-leds/20250405183246.198568-1-trannamatk@gmail.com/
> ---
> 
> Nam Tran (5):
>   dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver
>   leds: add TI/National Semiconductor LP5812 LED Driver
>   docs: ABI: Document LP5812 LED sysfs interfaces
>   docs: leds: Document TI LP5812 LED driver
>   arm64: dts: Add LP5812 LED node for Raspberry Pi 4 Model B
> 
>  .../ABI/testing/sysfs-bus-i2c-devices-lp5812  |  144 +
>  .../devicetree/bindings/leds/ti,lp5812.yaml   |   46 +
>  Documentation/leds/leds-lp5812.rst            |   79 +
>  MAINTAINERS                                   |   12 +
>  .../arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts |   10 +
>  drivers/leds/Kconfig                          |   16 +
>  drivers/leds/Makefile                         |    1 +
>  drivers/leds/leds-lp5812.c                    | 2736 +++++++++++++++++
>  drivers/leds/leds-lp5812.h                    |  348 +++
>  9 files changed, 3392 insertions(+)
>  create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-lp5812
>  create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
>  create mode 100644 Documentation/leds/leds-lp5812.rst
>  create mode 100644 drivers/leds/leds-lp5812.c
>  create mode 100644 drivers/leds/leds-lp5812.h

Nothing about this driver has anything to do with the LEDs subsystem.

Suggest moving it to drivers/auxdisplay instead.
Nam Tran April 26, 2025, 10:19 a.m. UTC | #2
On Fri, 25 Apr 2025, Lee Jones wrote:

> On Wed, 23 Apr 2025, Nam Tran wrote:
> 
> > This patch series adds support for the TI/National Semiconductor LP5812
> > 4x3 matrix RGB LED driver. The driver supports features such as autonomous
> > animation and time-cross-multiplexing (TCM) for dynamic LED effects.
> > 
> > Signed-off-by: Nam Tran <trannamatk@gmail.com>
> > ---
> > Changes in v7:
> > - Mark `chip_leds_map` as const.
> > - Use consistent `ret` initialization.
> > - Simplify the function `set_mix_sel_led()`.
> > - Refactor `dev_config_show()` and `led_auto_animation_show()` to avoid temp buffer, malloc/free.
> > - Simplify the code and ensure consistent use of mutex lock/unlock in show/store functions.
> > - Remove `total_leds` and `total_aeu`.
> > - Link to v6: https://lore.kernel.org/linux-leds/20250419184333.56617-1-trannamatk@gmail.com/
> > 
> > Changes in v6:
> > - Add `vcc-supply` property to describe the LP5812 power supply.
> > - Remove `chan-name` property and entire LED subnodes, as they are not needed.
> > - Update LP5812 LED driver node to Raspberry Pi 4 B Device Tree, based on updated binding.
> > - Link to v5: https://lore.kernel.org/linux-leds/20250414145742.35713-1-trannamatk@gmail.com/
> > 
> > Changes in v5:
> > - Rebase on v6.15-rc2
> > - Removed unused functions (lp5812_dump_regs, lp5812_update_bit).
> > - Address Krzysztof's review comments
> > - Link to v4: https://lore.kernel.org/linux-leds/20250405183246.198568-1-trannamatk@gmail.com/
> > ---
> > 
> > Nam Tran (5):
> >   dt-bindings: leds: add TI/National Semiconductor LP5812 LED Driver
> >   leds: add TI/National Semiconductor LP5812 LED Driver
> >   docs: ABI: Document LP5812 LED sysfs interfaces
> >   docs: leds: Document TI LP5812 LED driver
> >   arm64: dts: Add LP5812 LED node for Raspberry Pi 4 Model B
> > 
> >  .../ABI/testing/sysfs-bus-i2c-devices-lp5812  |  144 +
> >  .../devicetree/bindings/leds/ti,lp5812.yaml   |   46 +
> >  Documentation/leds/leds-lp5812.rst            |   79 +
> >  MAINTAINERS                                   |   12 +
> >  .../arm/boot/dts/broadcom/bcm2711-rpi-4-b.dts |   10 +
> >  drivers/leds/Kconfig                          |   16 +
> >  drivers/leds/Makefile                         |    1 +
> >  drivers/leds/leds-lp5812.c                    | 2736 +++++++++++++++++
> >  drivers/leds/leds-lp5812.h                    |  348 +++
> >  9 files changed, 3392 insertions(+)
> >  create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-lp5812
> >  create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
> >  create mode 100644 Documentation/leds/leds-lp5812.rst
> >  create mode 100644 drivers/leds/leds-lp5812.c
> >  create mode 100644 drivers/leds/leds-lp5812.h
> 
> Nothing about this driver has anything to do with the LEDs subsystem.
> 
> Suggest moving it to drivers/auxdisplay instead.

Thank you for the feedback.

I'll move the driver to drivers/auxdisplay as you suggested
and will prepare a new version accordingly.

Best regards,
Nam Tran