[PATCH 1/5] clk: at91: Use dev_read_addr_ptr()

Manikandan.M at microchip.com Manikandan.M at microchip.com
Mon May 25 07:19:26 CEST 2026


Hi Peng Fan,

Tested the patch on sam9x75-curiosity board

Tested-by: Manikandan Muralidharan <manikandan.m at microchip.com>

On 25/05/26 8:40 am, Peng Fan (OSS) wrote:
> EXTERNAL EMAIL: Do not click links or open attachments unless you know the content is safe
> 
> From: Peng Fan <peng.fan at nxp.com>
> 
> Replace devfdt_get_addr_ptr() with dev_read_addr_ptr() when retrieving the
> register base address.
> 
> dev_read_addr_ptr() supports both live device tree and flat DT backends,
> avoiding direct dependency on devfdt_* helpers.
> 
> No functional changes.
> 
> Signed-off-by: Peng Fan <peng.fan at nxp.com>
> ---
>   drivers/clk/at91/sam9x60.c  | 2 +-
>   drivers/clk/at91/sam9x7.c   | 2 +-
>   drivers/clk/at91/sama7d65.c | 6 +++---
>   drivers/clk/at91/sama7g5.c  | 6 +++---
>   drivers/clk/at91/sckc.c     | 5 ++++-
>   5 files changed, 12 insertions(+), 9 deletions(-)
> 
> diff --git a/drivers/clk/at91/sam9x60.c b/drivers/clk/at91/sam9x60.c
> index 2251e2846fa..0d0e39db57e 100644
> --- a/drivers/clk/at91/sam9x60.c
> +++ b/drivers/clk/at91/sam9x60.c
> @@ -426,7 +426,7 @@ static const struct pmc_clk_setup sam9x60_clk_setup[] = {
> 
>   static int sam9x60_clk_probe(struct udevice *dev)
>   {
> -       void __iomem *base = (void *)devfdt_get_addr_ptr(dev);
> +       void __iomem *base = dev_read_addr_ptr(dev);
>          unsigned int *clkmuxallocs[64], *muxallocs[64];
>          const char *p[10];
>          unsigned int cm[10], m[10], *tmpclkmux, *tmpmux;
> diff --git a/drivers/clk/at91/sam9x7.c b/drivers/clk/at91/sam9x7.c
> index 9ea253e6ff8..93f899b6617 100644
> --- a/drivers/clk/at91/sam9x7.c
> +++ b/drivers/clk/at91/sam9x7.c
> @@ -817,7 +817,7 @@ static const struct {
> 
>   static int sam9x7_clk_probe(struct udevice *dev)
>   {
> -       void __iomem *base = (void *)devfdt_get_addr_ptr(dev);
> +       void __iomem *base = dev_read_addr_ptr(dev);
>          unsigned int *clkmuxallocs[64], *muxallocs[64];
>          const char *p[10];
>          unsigned int cm[10], m[10], *tmpclkmux, *tmpmux;
> diff --git a/drivers/clk/at91/sama7d65.c b/drivers/clk/at91/sama7d65.c
> index 9f0b394543b..0c17a8cf67b 100644
> --- a/drivers/clk/at91/sama7d65.c
> +++ b/drivers/clk/at91/sama7d65.c
> @@ -1176,7 +1176,7 @@ static const struct pmc_clk_setup sama7d65_clk_setup[] = {
> 
>   static int sama7d65_clk_probe(struct udevice *dev)
>   {
> -       void __iomem *base = (void *)devfdt_get_addr(dev);
> +       void __iomem *base = dev_read_addr_ptr(dev);
>          unsigned int *clkmuxallocs[SAMA7D65_MAX_MUX_ALLOCS];
>          unsigned int *muxallocs[SAMA7D65_MAX_MUX_ALLOCS];
>          const char *p[12];
> @@ -1185,8 +1185,8 @@ static int sama7d65_clk_probe(struct udevice *dev)
>          bool main_osc_bypass;
>          int ret, muxallocindex = 0, clkmuxallocindex = 0, i, j;
> 
> -       if (IS_ERR(base))
> -               return PTR_ERR(base);
> +       if (!base)
> +               return -EINVAL;
> 
>          memset(muxallocs,    0, ARRAY_SIZE(muxallocs));
>          memset(clkmuxallocs, 0, ARRAY_SIZE(clkmuxallocs));
> diff --git a/drivers/clk/at91/sama7g5.c b/drivers/clk/at91/sama7g5.c
> index f24d251857f..c436038aed2 100644
> --- a/drivers/clk/at91/sama7g5.c
> +++ b/drivers/clk/at91/sama7g5.c
> @@ -1109,7 +1109,7 @@ static const struct pmc_clk_setup sama7g5_clk_setup[] = {
> 
>   static int sama7g5_clk_probe(struct udevice *dev)
>   {
> -       void __iomem *base = devfdt_get_addr_ptr(dev);
> +       void __iomem *base = dev_read_addr_ptr(dev);
>          unsigned int *clkmuxallocs[SAMA7G5_MAX_MUX_ALLOCS];
>          unsigned int *muxallocs[SAMA7G5_MAX_MUX_ALLOCS];
>          const char *p[10];
> @@ -1118,8 +1118,8 @@ static int sama7g5_clk_probe(struct udevice *dev)
>          bool main_osc_bypass;
>          int ret, muxallocindex = 0, clkmuxallocindex = 0, i, j;
> 
> -       if (IS_ERR(base))
> -               return PTR_ERR(base);
> +       if (!base)
> +               return -EINVAL;
> 
>          memset(muxallocs,    0, sizeof(muxallocs));
>          memset(clkmuxallocs, 0, sizeof(clkmuxallocs));
> diff --git a/drivers/clk/at91/sckc.c b/drivers/clk/at91/sckc.c
> index dcaffd360fd..410bc088248 100644
> --- a/drivers/clk/at91/sckc.c
> +++ b/drivers/clk/at91/sckc.c
> @@ -124,12 +124,15 @@ U_BOOT_DRIVER(at91_sam9x60_td_slck) = {
>   static int at91_sam9x60_sckc_probe(struct udevice *dev)
>   {
>          struct sam9x60_sckc *sckc = dev_get_priv(dev);
> -       void __iomem *base = devfdt_get_addr_ptr(dev);
> +       void __iomem *base = dev_read_addr_ptr(dev);
>          const char *slow_rc_osc, *slow_osc;
>          const char *parents[2];
>          struct clk *clk, c;
>          int ret;
> 
> +       if (!base)
> +               return -EINVAL;
> +
>          ret = clk_get_by_index(dev, 0, &c);
>          if (ret)
>                  return ret;
> 
> --
> 2.51.0
> 

-- 
Thanks and Regards,
Manikandan M.



More information about the U-Boot mailing list