[PATCH 5/5] treewide: use dev_read_addr_*_ptr() where appropriate
Simon Glass
sjg at chromium.org
Mon Oct 2 03:17:32 CEST 2023
On Wed, 27 Sept 2023 at 07:34, Matthias Schiffer
<matthias.schiffer at ew.tq-group.com> wrote:
>
> A follow-up to commit 842fb5de424e
> ("drivers: use devfdt_get_addr_size_index_ptr when cast to pointer")
> and commit 320a1938b6f7
> ("drivers: use devfdt_get_addr_index_ptr when cast to pointer").
>
> In addition to using the *_ptr variants of these functions where the
> address is cast to a pointer, this also changes devfdt_get_addr_*() to
> dev_read_addr_*() in a few places. Some variable and field types are
> changed from fdt_addr_t or phys_addr_t to void* where the cast was
> happening later.
>
> This patch fixes a number of compile warnings when building a 32bit
> U-Boot with CONFIG_PHYS_64BIT=y. In some places, it also fixes error
> handling where the return value of dev_read_addr() etc. was checked for
> NULL instead of FDT_ADDR_T_NONE.
>
> Signed-off-by: Matthias Schiffer <matthias.schiffer at ew.tq-group.com>
> ---
>
> This seems to work correctly (tested on x86 sandbox and TI AM62x; I have
> not tested the Tegra, Sun4i and BCM drivers), but I have two questions:
>
> It is not entirely clear to me what the difference between
> dev_read_addr_ptr*() and dev_remap_addr*() etc. is, but some drivers mix
> both. Should dev_remap_addr*() be used for __iomem? Is __iomem used
> consistently in U-Boot at all?
Perhaps there is no difference in U-Boot due to virtual and physical
addresses being the same mostly?
>
> Furthermore, can devfdt_get_*() be replaced with dev_read_*()
> unconditionally? Is there any reason why devfdt_get_*() hasn't been
> dropped entirely in a treewide search-and-replace?
Yes you can replace it...dev_read calls the devfdt interface if !OF_LIVE
>
> The k3-sec-proxy change goes on top of my other patch "mailbox:
> k3-sec-proxy: fix error handling for missing scfg in FDT" I submitted
> yesterday.
>
>
> arch/arm/mach-k3/sysfw-loader.c | 16 ++++++++--------
> drivers/dma/ti/k3-udma.c | 5 ++---
> drivers/gpio/tegra186_gpio.c | 4 ++--
> drivers/mailbox/k3-sec-proxy.c | 18 +++++++++---------
> drivers/phy/allwinner/phy-sun4i-usb.c | 12 ++++++------
> drivers/phy/phy-bcm-sr-pcie.c | 4 ++--
> drivers/ram/k3-am654-ddrss.c | 20 ++++++++++----------
> drivers/ram/k3-ddrss/k3-ddrss.c | 23 ++++++++++-------------
> drivers/soc/ti/k3-navss-ringacc.c | 12 ++++++------
> 9 files changed, 55 insertions(+), 59 deletions(-)
>
Reviewed-by: Simon Glass <sjg at chromium.org>
More information about the U-Boot
mailing list