gpio: mvebu: Fix probing for chips without PWM
authorSascha Hauer <s.hauer@pengutronix.de>
Fri, 17 Apr 2020 09:21:57 +0000 (11:21 +0200)
committerBartosz Golaszewski <bgolaszewski@baylibre.com>
Fri, 24 Apr 2020 06:31:50 +0000 (08:31 +0200)
commit19c26d90ff4ca08ef2a2fef23cc9c13cfbfd891e
tree51e636a52663a21aee2e909cc6a1869b3f4b4abe
parent6409d049ce28bef35e13dfb8699fc7ee27469ba1
gpio: mvebu: Fix probing for chips without PWM

The PWM iomem resource is optional and its presence indicates whether
the GPIO chip has a PWM or not, which is why mvebu_pwm_probe() returned
successfully when the PWM resource was not present. With f51b18d92b66
the driver switched to devm_platform_ioremap_resource_byname() and
its error return is propagated to the caller, so now a missing PWM resource
leads to a probe error in the driver.

To fix this explicitly test for the presence of the PWM resource and
return successfully when it's not there. Do this check before the check
for the clock is done (which GPIO chips without a PWM do not have). Also
move the existing comment why the PWM resource is optional up to the
actual check.

Fixes: f51b18d92b66 ("gpio: mvebu: use devm_platform_ioremap_resource_byname()")
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Bartosz Golaszewski <bgolaszewski@baylibre.com>
drivers/gpio/gpio-mvebu.c