On 2023/3/19 23:02, Johan Jonker wrote:
The current divider to calculate the bank ID can change.
Given the Rockchip TRM not all gpio-banks have 32 pins per bank.
The "gpio-ranges" syntax allows multiple items with variable number
of pins. Use a constant ROCKCHIP_GPIOS_PER_BANK as fixed divider.

Signed-off-by: Johan Jonker <[email protected]>
Reviewed-by: Simon Glass <[email protected]>
Reviewed-by: Kever Yang <[email protected]>

Thanks,
- Kever
---
  drivers/gpio/rk_gpio.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpio/rk_gpio.c b/drivers/gpio/rk_gpio.c
index f7ad4d68..0a2acf18 100644
--- a/drivers/gpio/rk_gpio.c
+++ b/drivers/gpio/rk_gpio.c
@@ -160,7 +160,7 @@ static int rockchip_gpio_probe(struct udevice *dev)
                                             0, &args);
        if (!ret || ret != -ENOENT) {
                uc_priv->gpio_count = args.args[2];
-               priv->bank = args.args[1] / args.args[2];
+               priv->bank = args.args[1] / ROCKCHIP_GPIOS_PER_BANK;
        } else {
                uc_priv->gpio_count = ROCKCHIP_GPIOS_PER_BANK;
                end = strrchr(dev->name, '@');
--
2.20.1

Reply via email to