u-boot.lists.denx.de archive mirror
 help / color / mirror / Atom feed
From: Kever Yang <kever.yang@rock-chips.com>
To: Chris Morgan <macroalpha82@gmail.com>, u-boot@lists.denx.de
Cc: heiko@sntech.de, sjg@chromium.org, philipp.tomsich@vrull.eu,
	chenjh@rock-chips.com, pgwipeout@gmail.com,
	heiko.stuebner@theobroma-systems.com,
	Chris Morgan <macromorgan@hotmail.com>
Subject: Re: [PATCH V2 1/9] gpio: gpio-rockchip: parse gpio-ranges for bank id
Date: Wed, 22 Feb 2023 15:44:16 +0800	[thread overview]
Message-ID: <8b2530f6-228f-5fdf-1441-07079c17f881@rock-chips.com> (raw)
In-Reply-To: <20230213222742.135093-2-macroalpha82@gmail.com>


On 2023/2/14 06:27, Chris Morgan wrote:
> From: Chris Morgan <macromorgan@hotmail.com>
>
> Use the new devicetree property of gpio-ranges to determine the GPIO
> bank ID. Preserve the "old" way of doing things too, so that boards
> can be migrated and tested gradually (I only have a 3566 and 3326 to
> test).
>
> Signed-off-by: Chris Morgan <macromorgan@hotmail.com>
Reviewed-by: Kever Yang <kever.yang@rock-chips.com>

Thanks,
- Kever
> ---
>   drivers/gpio/rk_gpio.c | 20 +++++++++++++++++---
>   1 file changed, 17 insertions(+), 3 deletions(-)
>
> diff --git a/drivers/gpio/rk_gpio.c b/drivers/gpio/rk_gpio.c
> index 68f30157a9..98a79b5f4d 100644
> --- a/drivers/gpio/rk_gpio.c
> +++ b/drivers/gpio/rk_gpio.c
> @@ -142,6 +142,7 @@ static int rockchip_gpio_probe(struct udevice *dev)
>   {
>   	struct gpio_dev_priv *uc_priv = dev_get_uclass_priv(dev);
>   	struct rockchip_gpio_priv *priv = dev_get_priv(dev);
> +	struct ofnode_phandle_args args;
>   	char *end;
>   	int ret;
>   
> @@ -150,9 +151,22 @@ static int rockchip_gpio_probe(struct udevice *dev)
>   	if (ret)
>   		return ret;
>   
> -	uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK;
> -	end = strrchr(dev->name, '@');
> -	priv->bank = trailing_strtoln(dev->name, end);
> +	/*
> +	 * If "gpio-ranges" is present in the devicetree use it to parse
> +	 * the GPIO bank ID, otherwise use the legacy method.
> +	 */
> +	ret = ofnode_parse_phandle_with_args(dev_ofnode(dev),
> +					     "gpio-ranges", NULL, 3,
> +					     0, &args);
> +	if (!ret || ret != -ENOENT) {
> +		uc_priv->gpio_count = args.args[2];
> +		priv->bank = args.args[1] / args.args[2];
> +	} else {
> +		uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK;
> +		end = strrchr(dev->name, '@');
> +		priv->bank = trailing_strtoln(dev->name, end);
> +	}
> +
>   	priv->name[0] = 'A' + priv->bank;
>   	uc_priv->bank_name = priv->name;
>   

  reply	other threads:[~2023-02-22  7:44 UTC|newest]

Thread overview: 33+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-13 22:27 [PATCH V2 0/9] Rockchip: Improve Support for RK3566 Devices Chris Morgan
2023-02-13 22:27 ` [PATCH V2 1/9] gpio: gpio-rockchip: parse gpio-ranges for bank id Chris Morgan
2023-02-22  7:44   ` Kever Yang [this message]
2023-02-22 10:59   ` Johan Jonker
2023-02-23  8:59   ` Linus Walleij
2023-03-02  2:54     ` Kever Yang
2023-03-02 13:59       ` Chris Morgan
2023-02-13 22:27 ` [PATCH V2 2/9] dts: rockchip: px30: add gpio-ranges property to gpio nodes Chris Morgan
2023-02-22  7:44   ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 3/9] rockchip: vop2: Add vop2 dt-binding from Linux Chris Morgan
2023-02-13 22:27 ` [PATCH V2 4/9] arm64: dts: rockchip: Sync rk356x from Linux main Chris Morgan
2023-02-15 18:44   ` Jonas Karlman
2023-02-22  7:32     ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 5/9] rockchip: rk3568: add boot device detection Chris Morgan
2023-02-15 18:28   ` Jonas Karlman
2023-02-22  7:45     ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 6/9] rockchip: rk3568: enable automatic power savings Chris Morgan
2023-02-22  7:34   ` Kever Yang
2023-02-13 22:27 ` [PATCH V2 7/9] gpio/rockchip: rk_gpio support v2 gpio controller Chris Morgan
2023-02-16 11:19   ` FUKAUMI Naoki
2023-02-22  7:49   ` Kever Yang
2023-02-22  8:28   ` Kever Yang
2023-02-23 22:14   ` Vasily Khoruzhick
2023-03-01  8:25   ` Eugen Hristev
2023-03-01 15:02     ` Simon Glass
2023-02-13 22:27 ` [PATCH V2 8/9] arm64: dts: rockchip: add gpio-ranges property to gpio nodes Chris Morgan
2023-02-22  7:47   ` Kever Yang
2023-02-23 21:12   ` Vasily Khoruzhick
2023-02-28 11:26     ` Quentin Schulz
2023-03-02  2:49       ` Kever Yang
2023-03-07 19:14         ` Vasily Khoruzhick
2023-02-13 22:27 ` [PATCH V2 9/9] evb1-v10-rk3568: Update MAINTAINERS and documentation Chris Morgan
2023-02-22  7:48   ` Kever Yang

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=8b2530f6-228f-5fdf-1441-07079c17f881@rock-chips.com \
    --to=kever.yang@rock-chips.com \
    --cc=chenjh@rock-chips.com \
    --cc=heiko.stuebner@theobroma-systems.com \
    --cc=heiko@sntech.de \
    --cc=macroalpha82@gmail.com \
    --cc=macromorgan@hotmail.com \
    --cc=pgwipeout@gmail.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).