Re: [PATCH v3 0/4] leds: pca9532: Use hardware for blinking LEDs

From: Lee Jones
Date: Thu Jul 25 2024 - 05:09:22 EST


On Thu, 11 Jul 2024, Bastien Curutchet wrote:

> Hi all,
>
> This series aims to use hardware more often to blink LEDs.
>
> The pca9532_set_blink() rejects asymmetric delays. So the core's software
> fallback is almost always used when we want to blink a LED. Removing
> this restriction revealed some conflicts between setting brightness and
> blinking as the same PWM (PWM0) configuration is used by all LEDs for
> both brightness and blinking.
>
> Make use of the second available PWM (PWM1) to blink LEDs. This PWM1 was
> reserved for beepers so hardware blinking is explicitly disabled if at
> least one LED is used to drive a beeper to avoid conflicts.
>
> Tested with PCA9532
>
> Changes in v2:
> * Add defines to get rid of magic numbers
> * Replace every 'led' by 'LED'
> * Use dev_err() when returning errors
> * Remove unused struct pca9532_data from patch 2 to add it on patch 3
> where it's actually used
>
> Changes in v3 (in PATCH 2/4):
> * Drop dev_err() messages for comments
> * Replace a -EINVAL with a -EBUSY
>
> [v1] : https://lore.kernel.org/all/20240527125940.155260-1-bastien.curutchet@xxxxxxxxxxx/
> [v2] : https://lore.kernel.org/all/20240617143910.154546-1-bastien.curutchet@xxxxxxxxxxx/
>
> Bastien Curutchet (4):
> leds: pca9532: Use defines to select PWM instance
> leds: pca9532: Use PWM1 for hardware blinking
> leds: pca9532: Explicitly disable hardware blink when PWM1 is
> unavailable
> leds: pca9532: Change default blinking frequency to 1Hz

This set was applied on the 20th June.

Please rebase and send follow-ups.

--
Lee Jones [李琼斯]