pwm: pca9685: Restrict period change for enabled PWMs
authorClemens Gruber <clemens.gruber@pqgruber.com>
Fri, 7 May 2021 13:18:44 +0000 (15:18 +0200)
committerThierry Reding <thierry.reding@gmail.com>
Fri, 4 Jun 2021 09:43:53 +0000 (11:43 +0200)
commit6d6e7050276d40b5de97aa950d5d71057f2e2a25
tree993071c43eea29fa7c5e61cfb0a51f08d6479d14
parentae16db1fd3a1b8d1713ba6af5cf27be32918d2b8
pwm: pca9685: Restrict period change for enabled PWMs

Previously, the last used PWM channel could change the global prescale
setting, even if other channels are already in use.

Fix it by only allowing the first enabled PWM to change the global
chip-wide prescale setting. If there is more than one channel in use,
the prescale settings resulting from the chosen periods must match.

GPIOs do not count as enabled PWMs as they are not using the prescaler
and can't change it.

Signed-off-by: Clemens Gruber <clemens.gruber@pqgruber.com>
Signed-off-by: Thierry Reding <thierry.reding@gmail.com>
drivers/pwm/pwm-pca9685.c