[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20250618183205.113344-1-trannamatk@gmail.com>
Date: Thu, 19 Jun 2025 01:32:01 +0700
From: Nam Tran <trannamatk@...il.com>
To: lee@...nel.org
Cc: pavel@...nel.org,
rdunlap@...radead.org,
christophe.jaillet@...adoo.fr,
krzk+dt@...nel.org,
robh@...nel.org,
conor+dt@...nel.org,
corbet@....net,
linux-leds@...r.kernel.org,
linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org,
linux-doc@...r.kernel.org,
Nam Tran <trannamatk@...il.com>
Subject: [PATCH v10 0/4] leds: add new LED driver for TI LP5812
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@...il.com>
---
Changes in v10:
- Address feedback on v9 regarding missing Reviewed-by tag
- Added explanation: binding structure changed significantly to integrate
with the standard leds-class-multicolor.yaml schema and support multi-led@
nodes with nested led@ subnodes. This change introduced a new patternProperties
hierarchy and removed the previous flat led@ layout used in the earlier versions.
So the Reviewed-by tag was dropped out of caution.
- Address binding document feedback
- Use consistent quotes
- Replace 'max-cur' with the standard 'led-max-microamp'
- Remove 'led-cur' property
- Fix mixed indentation
- Updated core driver to align with the updated binding schema.
- Address core driver feedback
- Use for_each_available_child_of_node_scoped() to simplify the code
- Add a return checks for lp5812_write() and lp5812_read()
- Remove unneeded trailing commas
- Fix unsafe usage of stack-allocated strings
- Link to v9: https://lore.kernel.org/lkml/20250617154020.7785-1-trannamatk@gmail.com/
Changes in v9:
- Move driver back to drivers/leds/rgb/
- Integrate with LED multicolor framework
- Refactor and simplify custom sysfs handling
- Extend Device Tree binding to support multi-led@ nodes using leds-class-multicolor.yaml
- Update documentation to reflect the updated sysfs.
- Link to v8: https://lore.kernel.org/lkml/20250427082447.138359-1-trannamatk@gmail.com/
Changes in v8:
- Move driver to drivers/auxdisplay/ instead of drivers/leds/.
- Rename files from leds-lp5812.c/.h to lp5812.c/.h.
- Move ti,lp5812.yaml binding to auxdisplay/ directory,
and update the title and $id to match new path.
- No functional changes to the binding itself (keep Reviewed-by).
- Update commit messages and patch titles to reflect the move.
- Link to v7: https://lore.kernel.org/linux-leds/20250422190121.46839-1-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 (4):
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
.../ABI/testing/sysfs-bus-i2c-devices-lp5812 | 40 +
.../ABI/testing/sysfs-class-led-lp5812 | 120 +
.../devicetree/bindings/leds/ti,lp5812.yaml | 229 ++
Documentation/leds/index.rst | 1 +
Documentation/leds/leds-lp5812.rst | 84 +
MAINTAINERS | 13 +
drivers/leds/rgb/Kconfig | 13 +
drivers/leds/rgb/Makefile | 1 +
drivers/leds/rgb/leds-lp5812.c | 1943 +++++++++++++++++
drivers/leds/rgb/leds-lp5812.h | 227 ++
10 files changed, 2671 insertions(+)
create mode 100644 Documentation/ABI/testing/sysfs-bus-i2c-devices-lp5812
create mode 100644 Documentation/ABI/testing/sysfs-class-led-lp5812
create mode 100644 Documentation/devicetree/bindings/leds/ti,lp5812.yaml
create mode 100644 Documentation/leds/leds-lp5812.rst
create mode 100644 drivers/leds/rgb/leds-lp5812.c
create mode 100644 drivers/leds/rgb/leds-lp5812.h
base-commit: f09079bd04a924c72d555cd97942d5f8d7eca98c
--
2.25.1
Powered by blists - more mailing lists