2022-09-05 18:43:15

by Andy Shevchenko

[permalink] [raw]
Subject: [PATCH v1 1/1] 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: Andy Shevchenko <[email protected]>
---
drivers/pinctrl/meson/pinctrl-meson.c | 7 +++----
drivers/pinctrl/meson/pinctrl-meson.h | 4 +++-
2 files changed, 6 insertions(+), 5 deletions(-)

diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
index cc2cd73ff8f9..530f3f934e19 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.c
+++ b/drivers/pinctrl/meson/pinctrl-meson.c
@@ -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)) {
diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/pinctrl-meson.h
index b197827027bd..34fc4e8612e4 100644
--- a/drivers/pinctrl/meson/pinctrl-meson.h
+++ b/drivers/pinctrl/meson/pinctrl-meson.h
@@ -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) \
--
2.35.1


2022-09-06 09:43:20

by Neil Armstrong

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] pinctrl: meson: Switch to use fwnode instead of of_node

On 05/09/2022 20:00, Andy Shevchenko wrote:
> GPIO library now accepts fwnode as a firmware node, so
> switch the driver to use it.
>
> Signed-off-by: Andy Shevchenko <[email protected]>
> ---
> drivers/pinctrl/meson/pinctrl-meson.c | 7 +++----
> drivers/pinctrl/meson/pinctrl-meson.h | 4 +++-
> 2 files changed, 6 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.c b/drivers/pinctrl/meson/pinctrl-meson.c
> index cc2cd73ff8f9..530f3f934e19 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.c
> +++ b/drivers/pinctrl/meson/pinctrl-meson.c
> @@ -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)) {
> diff --git a/drivers/pinctrl/meson/pinctrl-meson.h b/drivers/pinctrl/meson/pinctrl-meson.h
> index b197827027bd..34fc4e8612e4 100644
> --- a/drivers/pinctrl/meson/pinctrl-meson.h
> +++ b/drivers/pinctrl/meson/pinctrl-meson.h
> @@ -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) \

Reviewed-by: Neil Armstrong <[email protected]>

2022-09-06 11:59:18

by Andy Shevchenko

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] pinctrl: meson: Switch to use fwnode instead of of_node

On Tue, Sep 06, 2022 at 11:07:07AM +0200, Neil Armstrong wrote:
> On 05/09/2022 20:00, Andy Shevchenko wrote:
> > GPIO library now accepts fwnode as a firmware node, so
> > switch the driver to use it.

...

> Reviewed-by: Neil Armstrong <[email protected]>

Thanks!

--
With Best Regards,
Andy Shevchenko


2022-09-08 09:29:24

by Linus Walleij

[permalink] [raw]
Subject: Re: [PATCH v1 1/1] pinctrl: meson: Switch to use fwnode instead of of_node

On Mon, Sep 5, 2022 at 8:00 PM Andy Shevchenko
<[email protected]> wrote:

> GPIO library now accepts fwnode as a firmware node, so
> switch the driver to use it.
>
> Signed-off-by: Andy Shevchenko <[email protected]>

Patch applied.

Yours,
Linus Walleij