]> git.dujemihanovic.xyz Git - u-boot.git/commitdiff
drivers: use devfdt_get_addr_index_ptr when cast to pointer
authorJohan Jonker <jbx6244@gmail.com>
Mon, 13 Mar 2023 00:32:31 +0000 (01:32 +0100)
committerKever Yang <kever.yang@rock-chips.com>
Sat, 6 May 2023 09:28:18 +0000 (17:28 +0800)
The fdt_addr_t and phys_addr_t size have been decoupled. A 32bit CPU
can expect 64-bit data from the device tree parser, so use
devfdt_get_addr_index_ptr instead of the devfdt_get_addr_index function
in the various files in the drivers directory that cast to a pointer.
As we are there also streamline the error response to -EINVAL on return.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
drivers/clk/clk-hsdk-cgu.c
drivers/ddr/altera/sdram_gen5.c
drivers/mmc/xenon_sdhci.c
drivers/net/mvpp2.c
drivers/pci/pcie_dw_mvebu.c
drivers/pci/pcie_imx.c
drivers/pci/pcie_layerscape_ep.c
drivers/phy/marvell/comphy_core.c
drivers/spi/cadence_qspi.c
drivers/usb/musb-new/ti-musb.c

index 26b0aa9a26f8d3215fc47dd18fcd154be7199654..e28543ef78b46012b75ba6e5340de19ae932649b 100644 (file)
@@ -753,11 +753,11 @@ static int hsdk_cgu_clk_probe(struct udevice *dev)
        else
                hsdk_clk->map = hsdk_4xd_clk_map;
 
-       hsdk_clk->cgu_regs = (void __iomem *)devfdt_get_addr_index(dev, 0);
+       hsdk_clk->cgu_regs = devfdt_get_addr_index_ptr(dev, 0);
        if (!hsdk_clk->cgu_regs)
                return -EINVAL;
 
-       hsdk_clk->creg_regs = (void __iomem *)devfdt_get_addr_index(dev, 1);
+       hsdk_clk->creg_regs = devfdt_get_addr_index_ptr(dev, 1);
        if (!hsdk_clk->creg_regs)
                return -EINVAL;
 
index 8d3ce495dead7f9c3a980f64078967ab4b8af37c..34d2a2789ccff76c6f9ebb2a980b2fc2f689f2e9 100644 (file)
@@ -567,9 +567,9 @@ static int altera_gen5_sdram_of_to_plat(struct udevice *dev)
 {
        struct altera_gen5_sdram_plat *plat = dev_get_plat(dev);
 
-       plat->sdr = (struct socfpga_sdr *)devfdt_get_addr_index(dev, 0);
+       plat->sdr = devfdt_get_addr_index_ptr(dev, 0);
        if (!plat->sdr)
-               return -ENODEV;
+               return -EINVAL;
 
        return 0;
 }
index 2f8805096c12f24ba9fff02df864f5c11670137d..16ac84a24a63b0eb2e2329c566a894bbdfd400bf 100644 (file)
@@ -537,7 +537,7 @@ static int xenon_sdhci_of_to_plat(struct udevice *dev)
        host->ioaddr = dev_read_addr_ptr(dev);
 
        if (device_is_compatible(dev, "marvell,armada-3700-sdhci"))
-               priv->pad_ctrl_reg = (void *)devfdt_get_addr_index(dev, 1);
+               priv->pad_ctrl_reg = devfdt_get_addr_index_ptr(dev, 1);
 
        name = fdt_getprop(gd->fdt_blob, dev_of_offset(dev), "marvell,pad-type",
                           NULL);
index f407d8f6a8113432928e52bf3797e0710c9c45f9..1cd543076504690e4d788a2cb43ab6f6ed91f3ec 100644 (file)
@@ -5300,18 +5300,18 @@ static int mvpp2_base_probe(struct udevice *dev)
        }
 
        /* Save base addresses for later use */
-       priv->base = (void *)devfdt_get_addr_index(dev, 0);
-       if (IS_ERR(priv->base))
-               return PTR_ERR(priv->base);
+       priv->base = devfdt_get_addr_index_ptr(dev, 0);
+       if (!priv->base)
+               return -EINVAL;
 
        if (priv->hw_version == MVPP21) {
-               priv->lms_base = (void *)devfdt_get_addr_index(dev, 1);
-               if (IS_ERR(priv->lms_base))
-                       return PTR_ERR(priv->lms_base);
+               priv->lms_base = devfdt_get_addr_index_ptr(dev, 1);
+               if (!priv->lms_base)
+                       return -EINVAL;
        } else {
-               priv->iface_base = (void *)devfdt_get_addr_index(dev, 1);
-               if (IS_ERR(priv->iface_base))
-                       return PTR_ERR(priv->iface_base);
+               priv->iface_base = devfdt_get_addr_index_ptr(dev, 1);
+               if (!priv->iface_base)
+                       return -EINVAL;
 
                /* Store common base addresses for all ports */
                priv->mpcs_base = priv->iface_base + MVPP22_MPCS;
@@ -5350,10 +5350,10 @@ static int mvpp2_probe(struct udevice *dev)
        if (priv->hw_version == MVPP21) {
                int priv_common_regs_num = 2;
 
-               port->base = (void __iomem *)devfdt_get_addr_index(
+               port->base = devfdt_get_addr_index_ptr(
                        dev->parent, priv_common_regs_num + port->id);
-               if (IS_ERR(port->base))
-                       return PTR_ERR(port->base);
+               if (!port->base)
+                       return -EINVAL;
        } else {
                port->gop_id = fdtdec_get_int(gd->fdt_blob, dev_of_offset(dev),
                                              "gop-port-id", -1);
index 3b2ada5464eb6813eeb1fd6f52f7088cffcdcd57..c41f3f1530443db1fd46937a542fbccebe806bb8 100644 (file)
@@ -564,8 +564,8 @@ static int pcie_dw_mvebu_of_to_plat(struct udevice *dev)
        struct pcie_dw_mvebu *pcie = dev_get_priv(dev);
 
        /* Get the controller base address */
-       pcie->ctrl_base = (void *)devfdt_get_addr_index(dev, 0);
-       if ((fdt_addr_t)pcie->ctrl_base == FDT_ADDR_T_NONE)
+       pcie->ctrl_base = devfdt_get_addr_index_ptr(dev, 0);
+       if (!pcie->ctrl_base)
                return -EINVAL;
 
        /* Get the config space base address and size */
index da48466480cba4db8ae11398bbed23d6bf3d1cf5..4a18b0e0910bb99540760caf2a5ec387f4ac91ce 100644 (file)
@@ -751,8 +751,8 @@ static int imx_pcie_of_to_plat(struct udevice *dev)
 {
        struct imx_pcie_priv *priv = dev_get_priv(dev);
 
-       priv->dbi_base = (void __iomem *)devfdt_get_addr_index(dev, 0);
-       priv->cfg_base = (void __iomem *)devfdt_get_addr_index(dev, 1);
+       priv->dbi_base = devfdt_get_addr_index_ptr(dev, 0);
+       priv->cfg_base = devfdt_get_addr_index_ptr(dev, 1);
        if (!priv->dbi_base || !priv->cfg_base)
                return -EINVAL;
 
index ff26a5cd9beed8bc8dce5b3a797115845089c10d..83f7eebd6277002600fe1271f20e6f139ab00143 100644 (file)
@@ -250,13 +250,13 @@ static int ls_pcie_ep_probe(struct udevice *dev)
 
        pcie_ep->pcie = pcie;
 
-       pcie->dbi = (void __iomem *)devfdt_get_addr_index(dev, 0);
+       pcie->dbi = devfdt_get_addr_index_ptr(dev, 0);
        if (!pcie->dbi)
-               return -ENOMEM;
+               return -EINVAL;
 
-       pcie->ctrl = (void __iomem *)devfdt_get_addr_index(dev, 1);
+       pcie->ctrl = devfdt_get_addr_index_ptr(dev, 1);
        if (!pcie->ctrl)
-               return -ENOMEM;
+               return -EINVAL;
 
        ret = fdt_get_named_resource(gd->fdt_blob, dev_of_offset(dev),
                                     "reg", "reg-names",
index df2460dbd7dc79351e3bd89fc99295301cc5cabb..7272dfb9fe80c0825111bcc5775dff18ada78996 100644 (file)
@@ -88,13 +88,13 @@ static int comphy_probe(struct udevice *dev)
        int res;
 
        /* Save base addresses for later use */
-       chip_cfg->comphy_base_addr = (void *)devfdt_get_addr_index(dev, 0);
-       if (IS_ERR(chip_cfg->comphy_base_addr))
-               return PTR_ERR(chip_cfg->comphy_base_addr);
+       chip_cfg->comphy_base_addr = devfdt_get_addr_index_ptr(dev, 0);
+       if (!chip_cfg->comphy_base_addr)
+               return -EINVAL;
 
-       chip_cfg->hpipe3_base_addr = (void *)devfdt_get_addr_index(dev, 1);
-       if (IS_ERR(chip_cfg->hpipe3_base_addr))
-               return PTR_ERR(chip_cfg->hpipe3_base_addr);
+       chip_cfg->hpipe3_base_addr = devfdt_get_addr_index_ptr(dev, 1);
+       if (!chip_cfg->hpipe3_base_addr)
+               return -EINVAL;
 
        if (device_is_compatible(dev, "marvell,comphy-a3700")) {
                chip_cfg->comphy_init_map = comphy_a3700_init_serdes_map;
index ac81468a18467fb443ef2046cb88d9d61d7aa974..2d715e478ca224c9b09a7b436332d0c9e4453366 100644 (file)
@@ -389,7 +389,7 @@ static int cadence_spi_of_to_plat(struct udevice *bus)
        struct cadence_spi_priv *priv = dev_get_priv(bus);
        ofnode subnode;
 
-       plat->regbase = (void *)devfdt_get_addr_index(bus, 0);
+       plat->regbase = devfdt_get_addr_index_ptr(bus, 0);
        plat->ahbbase = devfdt_get_addr_size_index_ptr(bus, 1, &plat->ahbsize);
        plat->is_decoded_cs = dev_read_bool(bus, "cdns,is-decoded-cs");
        plat->fifo_depth = dev_read_u32_default(bus, "cdns,fifo-depth", 128);
index 91042935b07b90c149d9b0493d52798f3b87e860..3be3f93dd85d63caeb373996489db8e7d656566b 100644 (file)
@@ -88,7 +88,7 @@ static int ti_musb_of_to_plat(struct udevice *dev)
        int usb_index;
        struct musb_hdrc_config *musb_config;
 
-       plat->base = (void *)devfdt_get_addr_index(dev, 1);
+       plat->base = devfdt_get_addr_index_ptr(dev, 1);
 
        phys = fdtdec_lookup_phandle(fdt, node, "phys");
        ctrl_mod = fdtdec_lookup_phandle(fdt, phys, "ti,ctrl_mod");