pinctrl: armada-37xx: Switch to use fwnode instead of of_node
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 1 Apr 2022 10:36:03 +0000 (13:36 +0300)
committerAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 18 Apr 2022 13:18:40 +0000 (16:18 +0300)
GPIO library now accepts fwnode as a firmware node,
so switch the driver to use it.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
drivers/pinctrl/mvebu/pinctrl-armada-37xx.c

index 08cad14..110f70b 100644 (file)
@@ -21,6 +21,7 @@
 #include <linux/pinctrl/pinctrl.h>
 #include <linux/pinctrl/pinmux.h>
 #include <linux/platform_device.h>
+#include <linux/property.h>
 #include <linux/regmap.h>
 #include <linux/slab.h>
 #include <linux/string_helpers.h>
@@ -787,18 +788,13 @@ static int armada_37xx_gpiochip_register(struct platform_device *pdev,
                                        struct armada_37xx_pinctrl *info)
 {
        struct device *dev = &pdev->dev;
-       struct device_node *np;
+       struct fwnode_handle *fwnode;
        struct gpio_chip *gc;
-       int ret = -ENODEV;
+       int ret;
 
-       for_each_child_of_node(dev->of_node, np) {
-               if (of_find_property(np, "gpio-controller", NULL)) {
-                       ret = 0;
-                       break;
-               }
-       }
-       if (ret)
-               return ret;
+       fwnode = gpiochip_node_get_first(dev);
+       if (!fwnode)
+               return -ENODEV;
 
        info->gpio_chip = armada_37xx_gpiolib_chip;
 
@@ -806,7 +802,7 @@ static int armada_37xx_gpiochip_register(struct platform_device *pdev,
        gc->ngpio = info->data->nr_pins;
        gc->parent = dev;
        gc->base = -1;
-       gc->of_node = np;
+       gc->fwnode = fwnode;
        gc->label = info->data->name;
 
        ret = armada_37xx_irqchip_register(pdev, info);