Message ID | 20200228210552.615672-11-seanga2@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | riscv: Add Sipeed Maix support | expand |
On Sat, Feb 29, 2020 at 5:06 AM Sean Anderson <seanga2 at gmail.com> wrote: > > dev_read_addr_ptr had different semantics depending on whether OF_LIVE was > enabled. This patch converts both implementations to return NULL on error, > and converts all call sites which check for FDT_ADDR_T_NONE to check for > NULL instead. This patch also removes the call to map_physmem, since we > have dev_remap_addr* for those semantics. > > Signed-off-by: Sean Anderson <seanga2 at gmail.com> > --- > > Changes in v5: > - New > > drivers/clk/imx/clk-imx8mp.c | 2 +- > drivers/core/read.c | 2 +- > drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +- > drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +- > include/dm/read.h | 4 +++- > 5 files changed, 7 insertions(+), 5 deletions(-) > Reviewed-by: Bin Meng <bmeng.cn at gmail.com>
On Fri, 28 Feb 2020 at 14:06, Sean Anderson <seanga2 at gmail.com> wrote: > > dev_read_addr_ptr had different semantics depending on whether OF_LIVE was > enabled. This patch converts both implementations to return NULL on error, > and converts all call sites which check for FDT_ADDR_T_NONE to check for > NULL instead. This patch also removes the call to map_physmem, since we > have dev_remap_addr* for those semantics. > > Signed-off-by: Sean Anderson <seanga2 at gmail.com> > --- > > Changes in v5: > - New > > drivers/clk/imx/clk-imx8mp.c | 2 +- > drivers/core/read.c | 2 +- > drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +- > drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +- > include/dm/read.h | 4 +++- > 5 files changed, 7 insertions(+), 5 deletions(-) Reviewed-by: Simon Glass <sjg at chromium.org>
diff --git a/drivers/clk/imx/clk-imx8mp.c b/drivers/clk/imx/clk-imx8mp.c index a2693d2f7a..df30f4a087 100644 --- a/drivers/clk/imx/clk-imx8mp.c +++ b/drivers/clk/imx/clk-imx8mp.c @@ -281,7 +281,7 @@ static int imx8mp_clk_probe(struct udevice *dev) clk_dm(IMX8MP_SYS_PLL2_1000M, imx_clk_fixed_factor("sys_pll2_1000m", "sys_pll2_out", 1, 1)); base = dev_read_addr_ptr(dev); - if (base == (void *)FDT_ADDR_T_NONE) + if (!base) return -EINVAL; clk_dm(IMX8MP_CLK_A53_SRC, imx_clk_mux2("arm_a53_src", base + 0x8000, 24, 3, imx8mp_a53_sels, ARRAY_SIZE(imx8mp_a53_sels))); diff --git a/drivers/core/read.c b/drivers/core/read.c index 1f999b1b31..2a8813fff1 100644 --- a/drivers/core/read.c +++ b/drivers/core/read.c @@ -154,7 +154,7 @@ void *dev_read_addr_ptr(const struct udevice *dev) { fdt_addr_t addr = dev_read_addr(dev); - return (addr == FDT_ADDR_T_NONE) ? NULL : map_sysmem(addr, 0); + return (addr == FDT_ADDR_T_NONE) ? NULL : addr; } void *dev_remap_addr(const struct udevice *dev) diff --git a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c index eb720f09f8..6961536a4d 100644 --- a/drivers/pinctrl/broadcom/pinctrl-bcm283x.c +++ b/drivers/pinctrl/broadcom/pinctrl-bcm283x.c @@ -116,7 +116,7 @@ int bcm283x_pinctl_probe(struct udevice *dev) } priv->base_reg = dev_read_addr_ptr(dev); - if (priv->base_reg == (void *)FDT_ADDR_T_NONE) { + if (!priv->base_reg) { debug("%s: Failed to get base address\n", __func__); return -EINVAL; } diff --git a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c index c7351f32bb..bd95662ed5 100644 --- a/drivers/pinctrl/mediatek/pinctrl-mtk-common.c +++ b/drivers/pinctrl/mediatek/pinctrl-mtk-common.c @@ -630,7 +630,7 @@ int mtk_pinctrl_common_probe(struct udevice *dev, int ret; priv->base = dev_read_addr_ptr(dev); - if (priv->base == (void *)FDT_ADDR_T_NONE) + if (!priv->base) return -EINVAL; priv->soc = soc; diff --git a/include/dm/read.h b/include/dm/read.h index da8c7f25e7..d7183713dd 100644 --- a/include/dm/read.h +++ b/include/dm/read.h @@ -715,7 +715,9 @@ static inline fdt_addr_t dev_read_addr(const struct udevice *dev) static inline void *dev_read_addr_ptr(const struct udevice *dev) { - return devfdt_get_addr_ptr(dev); + void *addr = devfdt_get_addr_ptr(dev); + + return ((fdt_addr_t)addr == FDT_ADDR_T_NONE) ? NULL : addr; } static inline fdt_addr_t dev_read_addr_pci(const struct udevice *dev)
dev_read_addr_ptr had different semantics depending on whether OF_LIVE was enabled. This patch converts both implementations to return NULL on error, and converts all call sites which check for FDT_ADDR_T_NONE to check for NULL instead. This patch also removes the call to map_physmem, since we have dev_remap_addr* for those semantics. Signed-off-by: Sean Anderson <seanga2 at gmail.com> --- Changes in v5: - New drivers/clk/imx/clk-imx8mp.c | 2 +- drivers/core/read.c | 2 +- drivers/pinctrl/broadcom/pinctrl-bcm283x.c | 2 +- drivers/pinctrl/mediatek/pinctrl-mtk-common.c | 2 +- include/dm/read.h | 4 +++- 5 files changed, 7 insertions(+), 5 deletions(-)