devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v11 0/5] Add a multicolor LED driver for groups of monochromatic LEDs
@ 2023-07-18  9:25 Jean-Jacques Hiblot
  2023-07-18  9:25 ` [PATCH v11 1/5] devres: provide devm_krealloc_array() Jean-Jacques Hiblot
                   ` (6 more replies)
  0 siblings, 7 replies; 8+ messages in thread
From: Jean-Jacques Hiblot @ 2023-07-18  9:25 UTC (permalink / raw)
  To: lee, pavel, robh+dt, krzysztof.kozlowski+dt, conor+dt
  Cc: linux-leds, devicetree, linux-kernel, Jean-Jacques Hiblot

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 v10->v11:
  - updated commit logs of patch 2 and 3
  - Improved comments

changes v9->v10:
  - updated comments and kconfig description
  - renamed all 'led_mcg_xxx' into 'leds_gmc_xxx'

changes v8->v9:
  - rebased on top of lee-leds/for-leds-next
  - updated kernel version and date for /sys/class/leds/<led>/color in
    Documentation/ABI/testing/sysfs-class-led
  - dropped patch "leds: class: simplify the implementation of
    devm_of_led_get()" because __devm_led_get() is now used by
    devm_led_get()

changes v7->v8:
 - consistently use "LEDs group multicolor" throughout the code.
 - rename some variables with more explicit names.
 - improve comments.
 - use the 100-characters per line limit.

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 (5):
  devres: provide devm_krealloc_array()
  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                      |  46 +++++
 drivers/leds/rgb/Kconfig                      |  12 ++
 drivers/leds/rgb/Makefile                     |   1 +
 drivers/leds/rgb/leds-group-multicolor.c      | 169 ++++++++++++++++++
 include/linux/device.h                        |  13 ++
 include/linux/leds.h                          |   3 +
 8 files changed, 317 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/leds/leds-group-multicolor.yaml
 create mode 100644 drivers/leds/rgb/leds-group-multicolor.c

-- 
2.34.1


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2023-08-17  8:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-07-18  9:25 [PATCH v11 0/5] Add a multicolor LED driver for groups of monochromatic LEDs Jean-Jacques Hiblot
2023-07-18  9:25 ` [PATCH v11 1/5] devres: provide devm_krealloc_array() Jean-Jacques Hiblot
2023-07-18  9:25 ` [PATCH v11 2/5] leds: provide devm_of_led_get_optional() Jean-Jacques Hiblot
2023-07-18  9:25 ` [PATCH v11 3/5] leds: class: store the color index in struct led_classdev Jean-Jacques Hiblot
2023-07-18  9:25 ` [PATCH v11 4/5] dt-bindings: leds: Add binding for a multicolor group of LEDs Jean-Jacques Hiblot
2023-07-18  9:25 ` [PATCH v11 5/5] leds: Add a multicolor LED driver to group monochromatic LEDs Jean-Jacques Hiblot
2023-07-28 10:20 ` [PATCH v11 0/5] Add a multicolor LED driver for groups of " Lee Jones
2023-08-17  8:28 ` Lee Jones

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).