Skip to content

Commit be0f9ca

Browse files
robherringmpe
authored andcommitted
powerpc: fsl_soc: Use of_range_to_resource() for "ranges" parsing
"ranges" is a standard property with common parsing functions. Users shouldn't be implementing their own parsing of it. Refactor the FSL RapidIO "ranges" parsing to use of_range_to_resource() instead. Signed-off-by: Rob Herring <[email protected]> Signed-off-by: Michael Ellerman <[email protected]> Link: https://msgid.link/[email protected]
1 parent f892ac7 commit be0f9ca

File tree

1 file changed

+4
-12
lines changed

1 file changed

+4
-12
lines changed

arch/powerpc/sysdev/fsl_soc.c

Lines changed: 4 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,10 @@ phys_addr_t get_immrbase(void)
5151

5252
soc = of_find_node_by_type(NULL, "soc");
5353
if (soc) {
54-
int size;
55-
u32 naddr;
56-
const __be32 *prop = of_get_property(soc, "#address-cells", &size);
57-
58-
if (prop && size == 4)
59-
naddr = be32_to_cpup(prop);
60-
else
61-
naddr = 2;
62-
63-
prop = of_get_property(soc, "ranges", &size);
64-
if (prop)
65-
immrbase = of_translate_address(soc, prop + naddr);
54+
struct resource res;
55+
56+
if (!of_range_to_resource(soc, 0, &res))
57+
immrbase = res.start;
6658

6759
of_node_put(soc);
6860
}

0 commit comments

Comments
 (0)