[U-Boot] [PATCH] spi: cadence_qspi: Change to use devfdt_get_addr_index()
Marek Vasut
marex at denx.de
Fri Jun 1 08:07:07 UTC 2018
On 05/07/2018 11:42 AM, Ley Foon Tan wrote:
> Change to use devfdt_get_addr_index() function to get fdt address.
>
> Original code has compilation warning below:
>
> drivers/spi/cadence_qspi.c: In function ‘cadence_spi_ofdata_to_platdata’:
> drivers/spi/cadence_qspi.c:297:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
> plat->regbase = (void *)data[0];
> ^
> drivers/spi/cadence_qspi.c:298:18: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
> plat->ahbbase = (void *)data[2];
> ^
> Signed-off-by: Ley Foon Tan <ley.foon.tan at intel.com>
Acked-by: Marek Vasut <marex at denx.de>
> ---
> drivers/spi/cadence_qspi.c | 13 ++-----------
> 1 files changed, 2 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
> index 7b312f8..f80d073 100644
> --- a/drivers/spi/cadence_qspi.c
> +++ b/drivers/spi/cadence_qspi.c
> @@ -284,18 +284,9 @@ static int cadence_spi_ofdata_to_platdata(struct udevice *bus)
> const void *blob = gd->fdt_blob;
> int node = dev_of_offset(bus);
> int subnode;
> - u32 data[4];
> - int ret;
>
> - /* 2 base addresses are needed, lets get them from the DT */
> - ret = fdtdec_get_int_array(blob, node, "reg", data, ARRAY_SIZE(data));
> - if (ret) {
> - printf("Error: Can't get base addresses (ret=%d)!\n", ret);
> - return -ENODEV;
> - }
> -
> - plat->regbase = (void *)data[0];
> - plat->ahbbase = (void *)data[2];
> + plat->regbase = (void *)devfdt_get_addr_index(bus, 0);
> + plat->ahbbase = (void *)devfdt_get_addr_index(bus, 1);
> plat->is_decoded_cs = fdtdec_get_bool(blob, node, "cdns,is-decoded-cs");
> plat->fifo_depth = fdtdec_get_uint(blob, node, "cdns,fifo-depth", 128);
> plat->fifo_width = fdtdec_get_uint(blob, node, "cdns,fifo-width", 4);
>
--
Best regards,
Marek Vasut
More information about the U-Boot
mailing list