From 3058e283b885d80fbaaaaed6f597a068188be948 Mon Sep 17 00:00:00 2001 From: Marek BehĂșn Date: Thu, 20 Jan 2022 01:04:42 +0100 Subject: fdt_support: Add fdt_for_each_node_by_compatible() helper macro Add macro fdt_for_each_node_by_compatible() to allow iterating over fdt nodes by compatible string. Convert various usages of off = fdt_node_offset_by_compatible(fdt, start, compat); while (off > 0) { code(); off = fdt_node_offset_by_compatible(fdt, off, compat); } and similar, to fdt_for_each_node_by_compatible(off, fdt, start, compat) code(); Signed-off-by: Marek BehĂșn Reviewed-by: Stefan Roese Reviewed-by: Simon Glass --- drivers/misc/fsl_portals.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) (limited to 'drivers/misc') diff --git a/drivers/misc/fsl_portals.c b/drivers/misc/fsl_portals.c index 02bc3f86cae..59df57a9acc 100644 --- a/drivers/misc/fsl_portals.c +++ b/drivers/misc/fsl_portals.c @@ -208,8 +208,7 @@ void fdt_fixup_qportals(void *blob) maj, min, ip_cfg) + 1; compat_len += sprintf(compat + compat_len, "fsl,qman-portal") + 1; - off = fdt_node_offset_by_compatible(blob, -1, "fsl,qman-portal"); - while (off != -FDT_ERR_NOTFOUND) { + fdt_for_each_node_by_compatible(off, blob, -1, "fsl,qman-portal") { #if defined(CONFIG_PPC) || defined(CONFIG_ARCH_LS1043A) || \ defined(CONFIG_ARCH_LS1046A) #ifdef CONFIG_FSL_CORENET @@ -295,9 +294,6 @@ err: fdt_strerror(err)); return; } - - off = fdt_node_offset_by_compatible(blob, off, - "fsl,qman-portal"); } } -- cgit v1.2.3