gpio: mvebu: Fix check for pwm support on non-A8K platforms
authorPali Rohár <pali@kernel.org>
Thu, 14 Jul 2022 18:33:25 +0000 (20:33 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 5 Oct 2022 08:39:42 +0000 (10:39 +0200)
[ Upstream commit 4335417da2b8d6d9b2d4411b5f9e248e5bb2d380 ]

pwm support incompatible with Armada 80x0/70x0 API is not only in
Armada 370, but also in Armada XP, 38x and 39x. So basically every non-A8K
platform. Fix check for pwm support appropriately.

Fixes: 85b7d8abfec7 ("gpio: mvebu: add pwm support for Armada 8K/7K")
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Bartosz Golaszewski <brgl@bgdev.pl>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/gpio/gpio-mvebu.c

index 1448dc8..a245bfd 100644 (file)
@@ -793,8 +793,12 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
        u32 offset;
        u32 set;
 
-       if (of_device_is_compatible(mvchip->chip.of_node,
-                                   "marvell,armada-370-gpio")) {
+       if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_A8K) {
+               int ret = of_property_read_u32(dev->of_node,
+                                              "marvell,pwm-offset", &offset);
+               if (ret < 0)
+                       return 0;
+       } else {
                /*
                 * There are only two sets of PWM configuration registers for
                 * all the GPIO lines on those SoCs which this driver reserves
@@ -804,13 +808,6 @@ static int mvebu_pwm_probe(struct platform_device *pdev,
                if (!platform_get_resource_byname(pdev, IORESOURCE_MEM, "pwm"))
                        return 0;
                offset = 0;
-       } else if (mvchip->soc_variant == MVEBU_GPIO_SOC_VARIANT_A8K) {
-               int ret = of_property_read_u32(dev->of_node,
-                                              "marvell,pwm-offset", &offset);
-               if (ret < 0)
-                       return 0;
-       } else {
-               return 0;
        }
 
        if (IS_ERR(mvchip->clk))