diff mbox series

[v1,1/1] pinctrl: st: Avoid using of_node member of struct gpio_chip

Message ID 20221004125449.67679-1-andriy.shevchenko@linux.intel.com
State New
Headers show
Series [v1,1/1] pinctrl: st: Avoid using of_node member of struct gpio_chip | expand

Commit Message

Andy Shevchenko Oct. 4, 2022, 12:54 p.m. UTC
The of_node member of the struct gpio_chip is obsoleted and
shouldn't be used. It will be removed in the future.

Replace its use in st_pctl_dt_calculate_pin() by comparing
the fwnode pointers.

Fixes: e75729b2f63f ("pinctrl: st: stop abusing of_get_named_gpio()")
Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
---
 drivers/pinctrl/pinctrl-st.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Dmitry Torokhov Oct. 10, 2022, 6:13 a.m. UTC | #1
Hi Andy,

On Tue, Oct 04, 2022 at 03:54:49PM +0300, Andy Shevchenko wrote:
> The of_node member of the struct gpio_chip is obsoleted and
> shouldn't be used. It will be removed in the future.
> 
> Replace its use in st_pctl_dt_calculate_pin() by comparing
> the fwnode pointers.
> 
> Fixes: e75729b2f63f ("pinctrl: st: stop abusing of_get_named_gpio()")
> Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
> ---
>  drivers/pinctrl/pinctrl-st.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
> index cf7f9cbe6044..ac24d07338a4 100644
> --- a/drivers/pinctrl/pinctrl-st.c
> +++ b/drivers/pinctrl/pinctrl-st.c
> @@ -1175,7 +1175,7 @@ static int st_pctl_dt_calculate_pin(struct st_pinctrl *info,
>  
>  	for (i = 0; i < info->nbanks; i++) {
>  		chip = &info->banks[i].gpio_chip;
> -		if (chip->of_node == np) {
> +		if (chip->fwnode == of_fwnode_handle(np)) {

Are you sure chip's fwnode is properly set here (without your other
patch)? I don't believe the driver sets it up, and I don't think gpiolib
maps it from the gpio_chip->of_node.

Actually, there is another reference to of_node in gpio chip in
st_gpiolib_register_bank()...

Thanks.
Andy Shevchenko Oct. 10, 2022, 6:47 a.m. UTC | #2
On Sun, Oct 09, 2022 at 11:13:44PM -0700, Dmitry Torokhov wrote:
> On Tue, Oct 04, 2022 at 03:54:49PM +0300, Andy Shevchenko wrote:
> > The of_node member of the struct gpio_chip is obsoleted and
> > shouldn't be used. It will be removed in the future.
> > 
> > Replace its use in st_pctl_dt_calculate_pin() by comparing
> > the fwnode pointers.
> > 
> > Fixes: e75729b2f63f ("pinctrl: st: stop abusing of_get_named_gpio()")

...

> Are you sure chip's fwnode is properly set here (without your other
> patch)? I don't believe the driver sets it up, and I don't think gpiolib
> maps it from the gpio_chip->of_node.
> 
> Actually, there is another reference to of_node in gpio chip in
> st_gpiolib_register_bank()...

You are right, this patch has been made on top of another not yet published
one. Hence, nothing to fix it right now.
diff mbox series

Patch

diff --git a/drivers/pinctrl/pinctrl-st.c b/drivers/pinctrl/pinctrl-st.c
index cf7f9cbe6044..ac24d07338a4 100644
--- a/drivers/pinctrl/pinctrl-st.c
+++ b/drivers/pinctrl/pinctrl-st.c
@@ -1175,7 +1175,7 @@  static int st_pctl_dt_calculate_pin(struct st_pinctrl *info,
 
 	for (i = 0; i < info->nbanks; i++) {
 		chip = &info->banks[i].gpio_chip;
-		if (chip->of_node == np) {
+		if (chip->fwnode == of_fwnode_handle(np)) {
 			if (offset < chip->ngpio)
 				retval = chip->base + offset;
 			break;