[PATCH v6 0/4] leds: pca955x: Add HW blink support
From: Eddie James
Date: Tue Sep 06 2022 - 17:59:10 EST
This series adds support for blinking using the PCA955x chip, falling
back to software blinking if another LED on the chip is already blinking
at a different rate, or if the requested rate isn't representable with
the PCA955x.
Also included are some minor clean up and optimization changes that make
the HW blinking a bit easier.
Changes since v5:
- Use auto-incrementing control register to read all the led selectors
at once during initialization
Changes since v4:
- Set duty cycle to fifty percent for blinked LEDs in order to maintain
the specified blink rate.
Changes since v3:
- Initialize return value in the blink function
Thanks Dan Carpenter and kernel test robot
Changes since v2:
- Split the cleanup patch
- Prettier dev_err calls
- Include units for blink period and use defined unit translations
rather than just a number.
- Use positive conditionals.
Changes since v1:
- Rework the blink function to fallback to software blinking if the
period is out of range of the chip's capabilities or if another LED
on the chip is already blinking at a different rate.
- Add the cleanup patch
Eddie James (4):
leds: pca955x: Refactor with helper functions and renaming
leds: pca955x: Use pointers to driver data rather than I2C client
leds: pca955x: Optimize probe led selection
leds: pca955x: Add HW blink support
drivers/leds/leds-pca955x.c | 350 ++++++++++++++++++++++++------------
1 file changed, 239 insertions(+), 111 deletions(-)
--
2.31.1