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

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.com


Signed-off-by: default avatarLinus Walleij <linus.walleij@linaro.org>
parent 6323f916
Loading
Loading
Loading
Loading
+3 −4
Original line number Diff line number Diff line
@@ -608,6 +608,7 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc)

	pc->chip.label = pc->data->name;
	pc->chip.parent = pc->dev;
	pc->chip.fwnode = pc->fwnode;
	pc->chip.request = gpiochip_generic_request;
	pc->chip.free = gpiochip_generic_free;
	pc->chip.set_config = gpiochip_generic_config;
@@ -619,8 +620,6 @@ static int meson_gpiolib_register(struct meson_pinctrl *pc)
	pc->chip.base = -1;
	pc->chip.ngpio = pc->data->num_pins;
	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);
	if (ret) {
@@ -678,8 +677,8 @@ static int meson_pinctrl_parse_dt(struct meson_pinctrl *pc)
		return -EINVAL;
	}

	gpio_np = to_of_node(gpiochip_node_get_first(pc->dev));
	pc->of_node = gpio_np;
	pc->fwnode = gpiochip_node_get_first(pc->dev);
	gpio_np = to_of_node(pc->fwnode);

	pc->reg_mux = meson_map_resource(pc, gpio_np, "mux");
	if (IS_ERR_OR_NULL(pc->reg_mux)) {
+3 −1
Original line number Diff line number Diff line
@@ -12,6 +12,8 @@
#include <linux/types.h>
#include <linux/module.h>

struct fwnode_handle;

struct meson_pinctrl;

/**
@@ -131,7 +133,7 @@ struct meson_pinctrl {
	struct regmap *reg_gpio;
	struct regmap *reg_ds;
	struct gpio_chip chip;
	struct device_node *of_node;
	struct fwnode_handle *fwnode;
};

#define FUNCTION(fn)							\