public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Johan Jonker <jbx6244@gmail.com>
To: dario.binacchi@amarulasolutions.com,
	michael@amarulasolutions.com, sjg@chromium.org,
	philipp.tomsich@vrull.eu, kever.yang@rock-chips.com
Cc: u-boot@lists.denx.de, yifeng.zhao@rock-chips.com
Subject: [PATCH v5 17/21] drivers: use devfdt_get_addr_index_ptr when cast to pointer
Date: Tue, 28 Feb 2023 22:21:34 +0100	[thread overview]
Message-ID: <a048333d-d287-f8f4-139f-e1b687874a2f@gmail.com> (raw)
In-Reply-To: <d70fb562-db1f-2a6d-206e-55568176c228@gmail.com>

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.

Signed-off-by: Johan Jonker <jbx6244@gmail.com>
---
 drivers/clk/clk-hsdk-cgu.c        |  4 ++--
 drivers/ddr/altera/sdram_gen5.c   |  2 +-
 drivers/mmc/xenon_sdhci.c         |  2 +-
 drivers/net/mvpp2.c               | 24 ++++++++++++------------
 drivers/pci/pcie_dw_mvebu.c       |  4 ++--
 drivers/pci/pcie_imx.c            |  4 ++--
 drivers/pci/pcie_layerscape_ep.c  |  4 ++--
 drivers/phy/marvell/comphy_core.c | 12 ++++++------
 drivers/spi/cadence_qspi.c        |  2 +-
 drivers/usb/musb-new/ti-musb.c    |  2 +-
 10 files changed, 30 insertions(+), 30 deletions(-)

diff --git a/drivers/clk/clk-hsdk-cgu.c b/drivers/clk/clk-hsdk-cgu.c
index 26b0aa9a..cf3d0fd3 100644
--- a/drivers/clk/clk-hsdk-cgu.c
+++ b/drivers/clk/clk-hsdk-cgu.c
@@ -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 = (void __iomem *)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 = (void __iomem *)devfdt_get_addr_index_ptr(dev, 1);
 	if (!hsdk_clk->creg_regs)
 		return -EINVAL;

diff --git a/drivers/ddr/altera/sdram_gen5.c b/drivers/ddr/altera/sdram_gen5.c
index 8d3ce495..2cdfdd42 100644
--- a/drivers/ddr/altera/sdram_gen5.c
+++ b/drivers/ddr/altera/sdram_gen5.c
@@ -567,7 +567,7 @@ 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 = (struct socfpga_sdr *)devfdt_get_addr_index_ptr(dev, 0);
 	if (!plat->sdr)
 		return -ENODEV;

diff --git a/drivers/mmc/xenon_sdhci.c b/drivers/mmc/xenon_sdhci.c
index 2f880509..16ac84a2 100644
--- a/drivers/mmc/xenon_sdhci.c
+++ b/drivers/mmc/xenon_sdhci.c
@@ -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);
diff --git a/drivers/net/mvpp2.c b/drivers/net/mvpp2.c
index 1bad50d3..76471901 100644
--- a/drivers/net/mvpp2.c
+++ b/drivers/net/mvpp2.c
@@ -5349,18 +5349,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;
@@ -5399,10 +5399,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 = (void __iomem *)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);
diff --git a/drivers/pci/pcie_dw_mvebu.c b/drivers/pci/pcie_dw_mvebu.c
index 3b2ada54..c41f3f15 100644
--- a/drivers/pci/pcie_dw_mvebu.c
+++ b/drivers/pci/pcie_dw_mvebu.c
@@ -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 */
diff --git a/drivers/pci/pcie_imx.c b/drivers/pci/pcie_imx.c
index da484664..bf1ca5b6 100644
--- a/drivers/pci/pcie_imx.c
+++ b/drivers/pci/pcie_imx.c
@@ -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 = (void __iomem *)devfdt_get_addr_index_ptr(dev, 0);
+	priv->cfg_base = (void __iomem *)devfdt_get_addr_index_ptr(dev, 1);
 	if (!priv->dbi_base || !priv->cfg_base)
 		return -EINVAL;

diff --git a/drivers/pci/pcie_layerscape_ep.c b/drivers/pci/pcie_layerscape_ep.c
index ff26a5cd..f4a0d1f2 100644
--- a/drivers/pci/pcie_layerscape_ep.c
+++ b/drivers/pci/pcie_layerscape_ep.c
@@ -250,11 +250,11 @@ 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 = (void __iomem *)devfdt_get_addr_index_ptr(dev, 0);
 	if (!pcie->dbi)
 		return -ENOMEM;

-	pcie->ctrl = (void __iomem *)devfdt_get_addr_index(dev, 1);
+	pcie->ctrl = (void __iomem *)devfdt_get_addr_index_ptr(dev, 1);
 	if (!pcie->ctrl)
 		return -ENOMEM;

diff --git a/drivers/phy/marvell/comphy_core.c b/drivers/phy/marvell/comphy_core.c
index df2460db..7272dfb9 100644
--- a/drivers/phy/marvell/comphy_core.c
+++ b/drivers/phy/marvell/comphy_core.c
@@ -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;
diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
index 6a52676a..92e80506 100644
--- a/drivers/spi/cadence_qspi.c
+++ b/drivers/spi/cadence_qspi.c
@@ -383,7 +383,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);
diff --git a/drivers/usb/musb-new/ti-musb.c b/drivers/usb/musb-new/ti-musb.c
index 91042935..3be3f93d 100644
--- a/drivers/usb/musb-new/ti-musb.c
+++ b/drivers/usb/musb-new/ti-musb.c
@@ -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");
--
2.20.1


  parent reply	other threads:[~2023-02-28 21:21 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-02-28 21:10 [PATCH v5 00/21] Fixes for Rockchip NFC driver part 1 Johan Jonker
2023-02-28 21:14 ` [PATCH v5 01/21] mtd: nand: raw: rockchip_nfc: use dev_read_addr_ptr Johan Jonker
2023-02-28 21:15 ` [PATCH v5 02/21] mtd: nand: raw: rockchip_nfc: remove the compatible string "rockchip,rk3308-nfc" Johan Jonker
2023-02-28 21:16 ` [PATCH v5 03/21] mtd: nand: raw: rockchip_nfc: add layout structure Johan Jonker
2023-02-28 21:16 ` [PATCH v5 04/21] mtd: nand: raw: rockchip_nfc: add flash_node to chip structure Johan Jonker
2023-02-28 21:16 ` [PATCH v5 05/21] mtd: nand: raw: rockchip_nfc: fix oobfree offset and description Johan Jonker
2023-02-28 21:17 ` [PATCH v5 06/21] mtd: nand: add support for the Sandisk SDTNQGAMA chip Johan Jonker
2023-02-28 21:17 ` [PATCH v5 07/21] rockchip: adc: rockchip-saradc: use dev_read_addr_ptr Johan Jonker
2023-02-28 21:18 ` [PATCH v5 08/21] rockchip: timer: dw-apb-timer: convert dev_read_addr output to phys_addr_t Johan Jonker
2023-02-28 21:18 ` [PATCH v5 09/21] include: dm: ofnode: fix headers Johan Jonker
2023-02-28 21:18 ` [PATCH v5 10/21] core: remap: convert regmap_init_mem_plat() input to phys_addr_t Johan Jonker
2023-02-28 21:19 ` [PATCH v5 11/21] core: fdtaddr: add devfdt_get_addr_size_index_ptr function Johan Jonker
2023-02-28 21:20 ` [PATCH v5 12/21] core: read: add dev_read_addr_index_ptr function Johan Jonker
2023-03-01 15:01   ` Simon Glass
2023-02-28 21:20 ` [PATCH v5 13/21] spi: spi-aspeed-smc: use devfdt_get_addr_index_ptr Johan Jonker
2023-03-01 15:01   ` Simon Glass
2023-02-28 21:20 ` [PATCH v5 14/21] drivers: use dev_read_addr_index_ptr when cast to pointer Johan Jonker
2023-02-28 21:21 ` [PATCH v5 15/21] drivers: use dev_read_addr_ptr " Johan Jonker
2023-03-01 15:01   ` Simon Glass
2023-02-28 21:21 ` [PATCH v5 16/21] drivers: use devfdt_get_addr_size_index_ptr " Johan Jonker
2023-02-28 21:21 ` Johan Jonker [this message]
2023-03-01 15:01   ` [PATCH v5 17/21] drivers: use devfdt_get_addr_index_ptr " Simon Glass
2023-02-28 21:21 ` [PATCH v5 18/21] drivers: use devfdt_get_addr_ptr " Johan Jonker
2023-03-01 15:01   ` Simon Glass
2023-02-28 21:22 ` [PATCH v5 19/21] drivers: fix debug string with fdt_addr_t input Johan Jonker
2023-03-01 15:01   ` Simon Glass
2023-02-28 21:22 ` [PATCH v5 20/21] arm: stm32mp: spl: fix function " Johan Jonker
2023-02-28 21:22 ` [PATCH v5 21/21] include: fdtdec: decouple fdt_addr_t and phys_addr_t size Johan Jonker

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=a048333d-d287-f8f4-139f-e1b687874a2f@gmail.com \
    --to=jbx6244@gmail.com \
    --cc=dario.binacchi@amarulasolutions.com \
    --cc=kever.yang@rock-chips.com \
    --cc=michael@amarulasolutions.com \
    --cc=philipp.tomsich@vrull.eu \
    --cc=sjg@chromium.org \
    --cc=u-boot@lists.denx.de \
    --cc=yifeng.zhao@rock-chips.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox