[PATCH] gpio: s5p: increment bank base address only if bank is initialized
    Henrik Grimler 
    henrik at grimler.se
       
    Sun Oct 19 10:47:45 CEST 2025
    
    
  
Hi Kaustabh,
On Fri, Oct 17, 2025 at 08:53:11PM +0530, Kaustabh Chakraborty wrote:
> There is a condition guard which ensures that the GPIO node, indeed
> describes a GPIO controller.
> 
> 	if (!fdtdec_get_bool(blob, node, "gpio-controller"))
> 		continue;
> 
> Since the bank base is being incremented in the loop, it is done so
> irrespective of whether the node is a GPIO controller or not. This leads
> to the incorrect resolution of bank base addresses.
> 
> Move it out of the loop, and instead increment the bank base address
> only if the driver successfully binds a GPIO controller.
> 
> Signed-off-by: Kaustabh Chakraborty <kauschluss at disroot.org>
Reviewed-by: Henrik Grimler <henrik at grimler.se>
This probably deserves a Fixes: tag.
Best regards,
Henrik Grimler
> ---
>  drivers/gpio/s5p_gpio.c | 5 ++---
>  1 file changed, 2 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpio/s5p_gpio.c b/drivers/gpio/s5p_gpio.c
> index 53dbbe97b5a02d09fbf0124268faaffa31b1315f..c072f146514c63cdc98e907983a904f05cd118e7 100644
> --- a/drivers/gpio/s5p_gpio.c
> +++ b/drivers/gpio/s5p_gpio.c
> @@ -319,7 +319,7 @@ static int gpio_exynos_bind(struct udevice *parent)
>  	base = dev_read_addr_ptr(parent);
>  	for (node = fdt_first_subnode(blob, dev_of_offset(parent)), bank = base;
>  	     node > 0;
> -	     node = fdt_next_subnode(blob, node), bank++) {
> +	     node = fdt_next_subnode(blob, node)) {
>  		struct exynos_gpio_plat *plat;
>  		struct udevice *dev;
>  		fdt_addr_t reg;
> @@ -341,9 +341,8 @@ static int gpio_exynos_bind(struct udevice *parent)
>  		if (reg != FDT_ADDR_T_NONE)
>  			bank = (struct s5p_gpio_bank *)((ulong)base + reg);
>  
> -		plat->bank = bank;
> -
>  		debug("dev at %p: %s\n", bank, plat->bank_name);
> +		plat->bank = bank++;
>  	}
>  
>  	return 0;
> 
> ---
> base-commit: 582a04763aa80738c1c8ac60c47d1a5159a42833
> change-id: 20251014-gpio-s5p-bank-fix-1d008cb2a1a9
> 
> Best regards,
> -- 
> Kaustabh Chakraborty <kauschluss at disroot.org>
> 
    
    
More information about the U-Boot
mailing list