gpio: mvebu: improve handling of pwm zero on/off values
authorBaruch Siach <baruch@tkos.co.il>
Wed, 20 Jan 2021 16:16:28 +0000 (18:16 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Mon, 15 Feb 2021 10:43:30 +0000 (11:43 +0100)
commit0b68d02b6a0dd2c7174a86a882e23d04fc7e7ca8
tree6a81816cbff192fe9fc244f047d067ca35f81273
parent2bee255a5ecf3213d118f22f6d8f65e4ec9101f2
gpio: mvebu: improve handling of pwm zero on/off values

Hardware appears to treat zero value as 2^32. Take advantage of this
fact to support on/off values of up to UINT_MAX+1 == 2^32. Adjust both
.apply and .get_state to handle zero as a special case.

Rounded up division result in .get_state can't be zero, since the
dividend is now larger than 0. Remove check for this case.

Reported-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Analyzed-by: Russell King <linux@armlinux.org.uk>
Signed-off-by: Baruch Siach <baruch@tkos.co.il>
Reviewed-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-mvebu.c