From: Tony Lindgren Date: Mon, 8 Mar 2021 09:35:06 +0000 (+0200) Subject: bus: ti-sysc: Fix initializing module_pa for modules without sysc register X-Git-Tag: v5.11.21~460 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=d6e1fe4adb0f31dcab934485f65600f0569c641f;p=thirdparty%2Fkernel%2Fstable.git bus: ti-sysc: Fix initializing module_pa for modules without sysc register [ Upstream commit 7bad5af826aba00487fed9a3300d3f43f0cba11b ] We have interconnect target modules with no known registers using only clocks and resets, but we still want to detect them based on the module IO range. So let's call sysc_parse_and_check_child_range() earlier so we have module_pa properly initialized. Fixes: 2928135c93f8 ("bus: ti-sysc: Support modules without control registers") Signed-off-by: Tony Lindgren Signed-off-by: Sasha Levin --- diff --git a/drivers/bus/ti-sysc.c b/drivers/bus/ti-sysc.c index 9e535336689fd..68145e326eb90 100644 --- a/drivers/bus/ti-sysc.c +++ b/drivers/bus/ti-sysc.c @@ -901,9 +901,6 @@ static int sysc_map_and_check_registers(struct sysc *ddata) struct device_node *np = ddata->dev->of_node; int error; - if (!of_get_property(np, "reg", NULL)) - return 0; - error = sysc_parse_and_check_child_range(ddata); if (error) return error; @@ -914,6 +911,9 @@ static int sysc_map_and_check_registers(struct sysc *ddata) sysc_check_children(ddata); + if (!of_get_property(np, "reg", NULL)) + return 0; + error = sysc_parse_registers(ddata); if (error) return error;