[U-Boot] [PATCH v1 1/3] gpio: dwapb_gpio: fix binding without bank-name property

Marek Vasut marex at denx.de
Tue Oct 30 21:38:17 UTC 2018


On 10/29/2018 08:25 PM, Simon Goldschmidt wrote:
> As a preparation for merging the socfpga gen5 devicetree files
> from Linux, this patch makes the dwapb gpio driver work correctly
> without the 'bank-name' property on the gpio-controller nodes.
> 
> This property is not present in the Linux drivers and thus is not
> present in the Linux devicetrees. It is only used to access pins
> via bank name.
> 
> This fallback is necessary since without it, the driver will
> return an error code which will lead to an error in U-Boot
> startup.
> 
> The bank names will still be added to the default board device
> trees in follow-up patch, but other boards using this driver and
> not including the bank name should also work with the socfpga.dtsi
> without adding the bank-name property.
> 
> Signed-off-by: Simon Goldschmidt <simon.k.r.goldschmidt at gmail.com>
> ---
> 
>  drivers/gpio/dwapb_gpio.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/drivers/gpio/dwapb_gpio.c b/drivers/gpio/dwapb_gpio.c
> index 68836a7902..e55fb4ac73 100644
> --- a/drivers/gpio/dwapb_gpio.c
> +++ b/drivers/gpio/dwapb_gpio.c
> @@ -180,6 +180,13 @@ static int gpio_dwapb_bind(struct udevice *dev)
>  		plat->pins = fdtdec_get_int(blob, node, "snps,nr-gpios", 0);
>  		plat->name = fdt_stringlist_get(blob, node, "bank-name", 0,
>  						NULL);
> +		if (!plat->name) {
> +			/*
> +			 * Fall back to node name. This means accessing pins
> +			 * via bank name won't work.
> +			 */
> +			plat->name = fdt_get_name(blob, node, NULL);
> +		}
>  
>  		ret = device_bind(dev, dev->driver, plat->name,
>  				  plat, -1, &subdev);
> 
Acked-by: Marek Vasut <marex at denx.de>

-- 
Best regards,
Marek Vasut


More information about the U-Boot mailing list