Re: [PATCH v2] EDAC: Use of_address_to_resource()

From: Rob Herring
Date: Tue Apr 18 2023 - 12:40:23 EST


On Mon, Mar 27, 2023 at 03:14:11PM -0500, Rob Herring wrote:
> Replace of_get_address() and of_translate_address() calls with single
> call to of_address_to_resource().
>
> Signed-off-by: Rob Herring <robh@xxxxxxxxxx>
> ---
> v2:
> - Fix compile error
> ---
> drivers/edac/altera_edac.c | 5 +++--
> drivers/edac/ti_edac.c | 10 +++++-----
> 2 files changed, 8 insertions(+), 7 deletions(-)

Ping!

>
> diff --git a/drivers/edac/altera_edac.c b/drivers/edac/altera_edac.c
> index e7e8e624a436..be33329c6f18 100644
> --- a/drivers/edac/altera_edac.c
> +++ b/drivers/edac/altera_edac.c
> @@ -1096,6 +1096,7 @@ static int altr_s10_sdram_check_ecc_deps(struct altr_edac_device_dev *device)
> struct arm_smccc_res result;
> struct device_node *np;
> phys_addr_t sdram_addr;
> + struct resource res;
> u32 read_reg;
> int ret;
>
> @@ -1103,8 +1104,8 @@ static int altr_s10_sdram_check_ecc_deps(struct altr_edac_device_dev *device)
> if (!np)
> goto sdram_err;
>
> - sdram_addr = of_translate_address(np, of_get_address(np, 0,
> - NULL, NULL));
> + of_address_to_resource(np, 0, &res);
> + sdram_addr = res.start;
> of_node_put(np);
> sdram_ecc_addr = (unsigned long)sdram_addr + prv->ecc_en_ofst;
> arm_smccc_smc(INTEL_SIP_SMC_REG_READ, sdram_ecc_addr,
> diff --git a/drivers/edac/ti_edac.c b/drivers/edac/ti_edac.c
> index 6971ded598de..7befcf6c6637 100644
> --- a/drivers/edac/ti_edac.c
> +++ b/drivers/edac/ti_edac.c
> @@ -202,19 +202,19 @@ MODULE_DEVICE_TABLE(of, ti_edac_of_match);
> static int _emif_get_id(struct device_node *node)
> {
> struct device_node *np;
> - const __be32 *addrp;
> + struct resource res;
> u32 addr, my_addr;
> int my_id = 0;
>
> - addrp = of_get_address(node, 0, NULL, NULL);
> - my_addr = (u32)of_translate_address(node, addrp);
> + of_address_to_resource(node, 0, &res);
> + my_addr = (u32)res.start;
>
> for_each_matching_node(np, ti_edac_of_match) {
> if (np == node)
> continue;
>
> - addrp = of_get_address(np, 0, NULL, NULL);
> - addr = (u32)of_translate_address(np, addrp);
> + of_address_to_resource(np, 0, &res);
> + addr = (u32)res.start;
>
> edac_printk(KERN_INFO, EDAC_MOD_NAME,
> "addr=%x, my_addr=%x\n",
> --
> 2.39.2
>