spi: cadence_qspi: Change to use devfdt_get_addr_index()
authorLey Foon Tan <ley.foon.tan@intel.com>
Mon, 7 May 2018 09:42:55 +0000 (17:42 +0800)
committerJagan Teki <jagan@amarulasolutions.com>
Mon, 4 Jun 2018 18:00:04 +0000 (23:30 +0530)
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@intel.com>
Acked-by: Marek Vasut <marex@denx.de>
Reviewed-by: Jagan Teki <jagan@openedev.com>
drivers/spi/cadence_qspi.c

index b88837c0ebf6bd18c20ed901233f40e1009f3eb9..91742ba5f157ee22a43444ed2f5a40c7c4c50cd3 100644 (file)
@@ -283,18 +283,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);