All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Heiko Stübner" <heiko@sntech.de>
To: linus.walleij@linaro.org, Jianqun Xu <jay.xu@rock-chips.com>
Cc: linux-gpio@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-rockchip@lists.infradead.org,
	Jianqun Xu <jay.xu@rock-chips.com>
Subject: Re: [PATCH 4/6] pinctrl: rockchip: do not set gpio if bank invalid
Date: Sun, 06 Sep 2020 00:09:26 +0200	[thread overview]
Message-ID: <1687104.4lZP0y4C37@diego> (raw)
In-Reply-To: <20200831084753.7115-5-jay.xu@rock-chips.com>

Am Montag, 31. August 2020, 10:47:51 CEST schrieb Jianqun Xu:
> Add valid check for gpio bank.

As this obviously fixes a problem you encountered please elaborate a bit more.
Just so that people reading the log later understand when this issue surfaced.

Also - maybe even more important - why is this limited to PIN_CONFIG_OUTPUT?
Like when the whole bank is not valid, you should be able to return the -ENOTSUPP
even before entering the "for" loop in these functions.


> Change-Id: Ib03e2910a7316bd61df18236151e371c4d04077a

Please remove the changeId.

Thanks
Heiko

> Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
> ---
>  drivers/pinctrl/pinctrl-rockchip.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
> index 265d64b8c4f5..6080573155f6 100644
> --- a/drivers/pinctrl/pinctrl-rockchip.c
> +++ b/drivers/pinctrl/pinctrl-rockchip.c
> @@ -2687,6 +2687,9 @@ static int rockchip_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
>  				return rc;
>  			break;
>  		case PIN_CONFIG_OUTPUT:
> +			if (!bank->valid)
> +				return -ENOTSUPP;
> +
>  			rockchip_gpio_set(&bank->gpio_chip,
>  					  pin - bank->pin_base, arg);
>  			rc = _rockchip_pmx_gpio_set_direction(&bank->gpio_chip,
> @@ -2752,6 +2755,9 @@ static int rockchip_pinconf_get(struct pinctrl_dev *pctldev, unsigned int pin,
>  		arg = 1;
>  		break;
>  	case PIN_CONFIG_OUTPUT:
> +		if (!bank->valid)
> +			return -ENOTSUPP;
> +
>  		rc = rockchip_get_mux(bank, pin - bank->pin_base);
>  		if (rc != RK_FUNC_GPIO)
>  			return -EINVAL;
> 





WARNING: multiple messages have this Message-ID (diff)
From: "Heiko Stübner" <heiko@sntech.de>
To: linus.walleij@linaro.org, Jianqun Xu <jay.xu@rock-chips.com>
Cc: linux-gpio@vger.kernel.org, Jianqun Xu <jay.xu@rock-chips.com>,
	linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org
Subject: Re: [PATCH 4/6] pinctrl: rockchip: do not set gpio if bank invalid
Date: Sun, 06 Sep 2020 00:09:26 +0200	[thread overview]
Message-ID: <1687104.4lZP0y4C37@diego> (raw)
In-Reply-To: <20200831084753.7115-5-jay.xu@rock-chips.com>

Am Montag, 31. August 2020, 10:47:51 CEST schrieb Jianqun Xu:
> Add valid check for gpio bank.

As this obviously fixes a problem you encountered please elaborate a bit more.
Just so that people reading the log later understand when this issue surfaced.

Also - maybe even more important - why is this limited to PIN_CONFIG_OUTPUT?
Like when the whole bank is not valid, you should be able to return the -ENOTSUPP
even before entering the "for" loop in these functions.


> Change-Id: Ib03e2910a7316bd61df18236151e371c4d04077a

Please remove the changeId.

Thanks
Heiko

> Signed-off-by: Jianqun Xu <jay.xu@rock-chips.com>
> ---
>  drivers/pinctrl/pinctrl-rockchip.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/drivers/pinctrl/pinctrl-rockchip.c b/drivers/pinctrl/pinctrl-rockchip.c
> index 265d64b8c4f5..6080573155f6 100644
> --- a/drivers/pinctrl/pinctrl-rockchip.c
> +++ b/drivers/pinctrl/pinctrl-rockchip.c
> @@ -2687,6 +2687,9 @@ static int rockchip_pinconf_set(struct pinctrl_dev *pctldev, unsigned int pin,
>  				return rc;
>  			break;
>  		case PIN_CONFIG_OUTPUT:
> +			if (!bank->valid)
> +				return -ENOTSUPP;
> +
>  			rockchip_gpio_set(&bank->gpio_chip,
>  					  pin - bank->pin_base, arg);
>  			rc = _rockchip_pmx_gpio_set_direction(&bank->gpio_chip,
> @@ -2752,6 +2755,9 @@ static int rockchip_pinconf_get(struct pinctrl_dev *pctldev, unsigned int pin,
>  		arg = 1;
>  		break;
>  	case PIN_CONFIG_OUTPUT:
> +		if (!bank->valid)
> +			return -ENOTSUPP;
> +
>  		rc = rockchip_get_mux(bank, pin - bank->pin_base);
>  		if (rc != RK_FUNC_GPIO)
>  			return -EINVAL;
> 





_______________________________________________
Linux-rockchip mailing list
Linux-rockchip@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

  reply	other threads:[~2020-09-05 22:09 UTC|newest]

Thread overview: 67+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-31  8:47 [PATCH 0/6] rockchip-pinctrl fixes for GKI Jianqun Xu
2020-08-31  8:47 ` Jianqun Xu
2020-08-31  8:47 ` [PATCH 1/6] pinctrl: rockchip: make driver be tristate module Jianqun Xu
2020-08-31  8:47   ` Jianqun Xu
2020-09-01 10:13   ` kernel test robot
2020-09-01 10:13     ` kernel test robot
2020-09-01 10:13     ` kernel test robot
2020-09-05 21:51     ` Heiko Stübner
2020-09-05 21:51       ` Heiko Stübner
2020-09-05 21:51       ` Heiko Stübner
2020-09-05 22:01   ` Heiko Stübner
2020-09-05 22:01     ` Heiko Stübner
2020-09-05 22:23     ` Heiko Stübner
2020-09-05 22:23       ` Heiko Stübner
2020-08-31  8:47 ` [PATCH 2/6] pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq Jianqun Xu
2020-08-31  8:47   ` Jianqun Xu
2020-09-05 21:54   ` Heiko Stübner
2020-09-05 21:54     ` Heiko Stübner
2020-08-31  8:47 ` [PATCH 3/6] pinctrl: rockchip: create irq mapping in gpio_to_irq Jianqun Xu
2020-08-31  8:47   ` Jianqun Xu
2020-09-05 22:03   ` Heiko Stübner
2020-09-05 22:03     ` Heiko Stübner
2020-08-31  8:47 ` [PATCH 4/6] pinctrl: rockchip: do not set gpio if bank invalid Jianqun Xu
2020-08-31  8:47   ` Jianqun Xu
2020-09-05 22:09   ` Heiko Stübner [this message]
2020-09-05 22:09     ` Heiko Stübner
2020-08-31  8:50 ` [PATCH 5/6] pinctrl: rockchip: fix crash caused by invalid gpio bank Jianqun Xu
2020-08-31  8:50   ` Jianqun Xu
2020-09-05 22:14   ` Heiko Stübner
2020-09-05 22:14     ` Heiko Stübner
2020-08-31  8:50 ` [PATCH 6/6] pinctrl: rockchip: populate platform device for rockchip gpio Jianqun Xu
2020-08-31  8:50   ` Jianqun Xu
2020-09-06 10:20   ` Heiko Stübner
2020-09-06 10:20     ` Heiko Stübner
2020-09-07  2:59 ` [PATCH v2 0/5] rockchip-pinctrl fixes for GKI Jianqun Xu
2020-09-07  2:59   ` Jianqun Xu
2020-09-07  2:59   ` [PATCH 1/5] pinctrl: rockchip: depend on OF Jianqun Xu
2020-09-07  2:59     ` Jianqun Xu
2020-09-07  2:59   ` [PATCH 2/5] pinctrl: rockchip: make driver be tristate module Jianqun Xu
2020-09-07  2:59     ` Jianqun Xu
2020-09-07 11:35     ` kernel test robot
2020-09-07 11:35       ` kernel test robot
2020-09-07 11:35       ` kernel test robot
2020-09-12 11:41     ` Heiko Stübner
2020-09-12 11:41       ` Heiko Stübner
2020-09-14  0:38     ` [PATCH 2/2] " Jianqun Xu
2020-09-14  0:38       ` Jianqun Xu
2020-09-20 22:14       ` Heiko Stübner
2020-09-20 22:14         ` Heiko Stübner
2020-09-20 22:18         ` Heiko Stübner
2020-09-20 22:18           ` Heiko Stübner
2020-09-29 13:21           ` Linus Walleij
2020-09-29 13:21             ` Linus Walleij
2020-10-13  6:40             ` jay.xu
2020-10-13  6:40               ` jay.xu
2020-09-07  2:59   ` [PATCH 3/5] pinctrl: rockchip: enable gpio pclk for rockchip_gpio_to_irq Jianqun Xu
2020-09-07  2:59     ` Jianqun Xu
2020-09-07  2:59   ` [PATCH 4/5] pinctrl: rockchip: create irq mapping in gpio_to_irq Jianqun Xu
2020-09-07  2:59     ` Jianqun Xu
2020-09-07  3:38   ` [PATCH 5/5] pinctrl: rockchip: populate platform device for rockchip gpio Jianqun Xu
2020-09-07  3:38     ` Jianqun Xu
2020-09-08  2:19     ` [PATCH] " Jianqun Xu
2020-09-08  2:19       ` Jianqun Xu
2020-09-20 22:16       ` Heiko Stübner
2020-09-20 22:16         ` Heiko Stübner
2020-09-12 11:35   ` [PATCH v2 0/5] rockchip-pinctrl fixes for GKI Linus Walleij
2020-09-12 11:35     ` Linus Walleij

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1687104.4lZP0y4C37@diego \
    --to=heiko@sntech.de \
    --cc=jay.xu@rock-chips.com \
    --cc=linus.walleij@linaro.org \
    --cc=linux-gpio@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-rockchip@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.