Commit 827eb27e authored by Andy Shevchenko's avatar Andy Shevchenko Committed by Linus Walleij

pinctrl: meson: Switch to use fwnode instead of of_node

GPIO library now accepts fwnode as a firmware node, so
switch the driver to use it.
Signed-off-by: default avatarAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Reviewed-by: default avatarNeil Armstrong <narmstrong@baylibre.com>
Link: https://lore.kernel.org/r/20220905180034.73132-1-andriy.shevchenko@linux.intel.comSigned-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 6323f916
...@@ -608,6 +608,7 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc) ...@@ -608,6 +608,7 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc)
pc->chip.label = pc->data->name; pc->chip.label = pc->data->name;
pc->chip.parent = pc->dev; pc->chip.parent = pc->dev;
pc->chip.fwnode = pc->fwnode;
pc->chip.request = gpiochip_generic_request; pc->chip.request = gpiochip_generic_request;
pc->chip.free = gpiochip_generic_free; pc->chip.free = gpiochip_generic_free;
pc->chip.set_config = gpiochip_generic_config; pc->chip.set_config = gpiochip_generic_config;
...@@ -619,8 +620,6 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc) ...@@ -619,8 +620,6 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc)
pc->chip.base = -1; pc->chip.base = -1;
pc->chip.ngpio = pc->data->num_pins; pc->chip.ngpio = pc->data->num_pins;
pc->chip.can_sleep = false; pc->chip.can_sleep = false;
pc->chip.of_node = pc->of_node;
pc->chip.of_gpio_n_cells = 2;
ret = gpiochip_add_data(&pc->chip, pc); ret = gpiochip_add_data(&pc->chip, pc);
if (ret) { if (ret) {
...@@ -678,8 +677,8 @@ static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc) ...@@ -678,8 +677,8 @@ static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc)
return -EINVAL; return -EINVAL;
} }
gpio_np = to_of_node(gpiochip_node_get_first(pc->dev)); pc->fwnode = gpiochip_node_get_first(pc->dev);
pc->of_node = gpio_np; gpio_np = to_of_node(pc->fwnode);
pc->reg_mux = meson_map_resource(pc, gpio_np, "mux"); pc->reg_mux = meson_map_resource(pc, gpio_np, "mux");
if (IS_ERR_OR_NULL(pc->reg_mux)) { if (IS_ERR_OR_NULL(pc->reg_mux)) {
......
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
#include <linux/types.h> #include <linux/types.h>
#include <linux/module.h> #include <linux/module.h>
struct fwnode_handle;
struct meson_pinctrl; struct meson_pinctrl;
/** /**
...@@ -131,7 +133,7 @@ struct meson_pinctrl { ...@@ -131,7 +133,7 @@ struct meson_pinctrl {
struct regmap *reg_gpio; struct regmap *reg_gpio;
struct regmap *reg_ds; struct regmap *reg_ds;
struct gpio_chip chip; struct gpio_chip chip;
struct device_node *of_node; struct fwnode_handle *fwnode;
}; };
#define FUNCTION(fn) \ #define FUNCTION(fn) \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment