gpio: mvebu: only fail on missing clk if pwm is actually to be used
authorUwe Kleine-König <u.kleine-koenig@pengutronix.de>
Mon, 17 Dec 2018 08:43:13 +0000 (09:43 +0100)
committerLinus Walleij <linus.walleij@linaro.org>
Fri, 21 Dec 2018 08:23:46 +0000 (09:23 +0100)
The gpio IP on Armada 370 at offset 0x18180 has neither a clk nor pwm
registers. So there is no need for a clk as the pwm isn't used anyhow.
So only check for the clk in the presence of the pwm registers. This fixes
a failure to probe the gpio driver for the above mentioned gpio device.

Fixes: 757642f9a584 ("gpio: mvebu: Add limited PWM support")
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Reviewed-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Linus Walleij <linus.walleij@linaro.org>
drivers/gpio/gpio-mvebu.c

index 6e02148c208b2cc600d75263d1c87064db2ebc23..adc768f908f1ae1937f3d245088c590b449e574f 100644 (file)
@@ -773,9 +773,6 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
                                     "marvell,armada-370-gpio"))
                return 0;
 
-       if (IS_ERR(mvchip->clk))
-               return PTR_ERR(mvchip->clk);
-
        /*
         * There are only two sets of PWM configuration registers for
         * all the GPIO lines on those SoCs which this driver reserves
@@ -786,6 +783,9 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
        if (!res)
                return 0;
 
+       if (IS_ERR(mvchip->clk))
+               return PTR_ERR(mvchip->clk);
+
        /*
         * Use set A for lines of GPIO chip with id 0, B for GPIO chip
         * with id 1. Don't allow further GPIO chips to be used for PWM.