Add the binding description and the corresponding driver for
the Kinetic KTD2026 and KTD2027.
Signed-off-by: André Apitzsch
---
Changes in v6:
- Remove un-needed inits
- Narrow scope of variables
- Release of_node references on early exit
- Pass child node to dev_err() in ktd202x_setup_led_rgb()
- Link to v5:
https://lore.kernel.org/r/20231001-ktd202x-v5-0-f544a1d05...@apitzsch.eu
Changes in v5:
- Restructure brightness_set() + add comments to it to be easier understandable
- Add some line breaks + remove little line-wraps to improve readability
- Move parts of add_led() to setup_led_{rgb,single}()
- Move mutex_init() to the end of probe to omit gotos
- Fix grammar
- Set initial intensity to max brightness to avoid LED staying off when
brightness is changed after switching to timer trigger, because of zero
intensity
- Link to v4:
https://lore.kernel.org/r/20230923-ktd202x-v4-0-14f724f6d...@apitzsch.eu
Changes in v4:
- Annotate struct ktd202x with __counted_by
- Link to v3:
https://lore.kernel.org/r/20230906-ktd202x-v3-0-7fcb91c65...@apitzsch.eu
Changes in v3:
- Add r-b to bindings patch
- Replace .probe_new by .probe
- Link to v2:
https://lore.kernel.org/r/20230901-ktd202x-v2-0-3cb8b0ca0...@apitzsch.eu
Changes in v2:
- Make binding description filename match compatible
- Address comments by Lee Jones
- Extend driver description in Kconfig
- Add copyright + link to datasheet
- Add unit to definition/variable names, where needed
- Define magic numbers
- Remove forward declaration of 'struct ktd202x'
- Remove superfluous comments
- Get rid of struct ktd202x_info
- Join ktd202x_chip_init() with ktd202x_chip_enable()
- Return the error on ktd202x_chip_disable()
- Remove unreachable case from chip_in_use()
- Rename ktd202x_brightness_set() argument from num_colors to num_channels
- Forward errors received in ktd202x_brightness_set()
- Remove variable for 'num_channels = 1'
- Add some explanations to blink time calculation
- Remove unneeded lcdev from ktd202x_blink_*_set()
- Add define for max brightness and replace deprecated LED_FULL by it
- Move setting led_classdev.brightness to ktd202x_brightness_*_set()
- Move mutex_lock inside ktd202x_blink_set()
- Add comment that 'color' property is optional (allow EINVAL)
- Replace escaped double quotes by single quotes
- Avoid overloading variable 'color'
- Do not lock during probe
- Remove usage of 'of_match_ptr'
- Document interrupt and pull-up supply, like done for aw2013[1]
- Fix error in num_steps calculation
- Link to v1:
https://lore.kernel.org/r/20230618-ktd202x-v1-0-fc182fefa...@apitzsch.eu
[1]
https://lore.kernel.org/linux-leds/20230815-aw2013-vio-v3-0-2505296b0...@gerhold.net/
---
André Apitzsch (2):
dt-bindings: leds: Add Kinetic KTD2026/2027 LED
leds: add ktd202x driver
.../devicetree/bindings/leds/kinetic,ktd202x.yaml | 171 ++
drivers/leds/rgb/Kconfig | 13 +
drivers/leds/rgb/Makefile | 1 +
drivers/leds/rgb/leds-ktd202x.c| 625 +
4 files changed, 810 insertions(+)
---
base-commit: 165adeea3617ea22dc49f8880474ebf3a98b696d
change-id: 20230618-ktd202x-546b2a7d240b
Best regards,
--
André Apitzsch