diff options
author | Marek BehĂșn <marek.behun@nic.cz> | 2022-01-20 03:04:42 +0300 |
---|---|---|
committer | Stefan Roese <sr@denx.de> | 2022-01-20 13:35:29 +0300 |
commit | 3058e283b885d80fbaaaaed6f597a068188be948 (patch) | |
tree | 3acad866dc7b75435b3bf1972ab7323257b707cc /board/Marvell/octeon_ebb7304/board.c | |
parent | 068415eadefbbc81f14d4ce61fcf7a7eb39650d4 (diff) | |
download | u-boot-3058e283b885d80fbaaaaed6f597a068188be948.tar.xz |
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 <marek.behun@nic.cz>
Reviewed-by: Stefan Roese <sr@denx.de>
Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'board/Marvell/octeon_ebb7304/board.c')
-rw-r--r-- | board/Marvell/octeon_ebb7304/board.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/board/Marvell/octeon_ebb7304/board.c b/board/Marvell/octeon_ebb7304/board.c index c6c7c13483..5fd84b260b 100644 --- a/board/Marvell/octeon_ebb7304/board.c +++ b/board/Marvell/octeon_ebb7304/board.c @@ -103,9 +103,7 @@ static int get_lmac_fdt_node(const void *fdt, int search_node, int search_bgx, i int parent; /* Iterate through all bgx ports */ - node = -1; - while ((node = fdt_node_offset_by_compatible((void *)fdt, node, - compat)) >= 0) { + fdt_for_each_node_by_compatible(node, (void *)fdt, -1, compat) { /* Get the node and bgx from the physical address */ parent = fdt_parent_offset(fdt, node); reg = fdt_getprop(fdt, parent, "reg", &len); @@ -146,9 +144,8 @@ static int get_mix_fdt_node(const void *fdt, int search_node, int search_index) int node; /* Iterate through all the mix fdt nodes */ - node = -1; - while ((node = fdt_node_offset_by_compatible((void *)fdt, node, - "cavium,octeon-7890-mix")) >= 0) { + fdt_for_each_node_by_compatible(node, (void *)fdt, -1, + "cavium,octeon-7890-mix") { int parent; int len; const char *name; |