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 [李琼斯]