Commit b1e52287 authored by Geert Uytterhoeven's avatar Geert Uytterhoeven Committed by Simon Horman

soc: renesas: rcar-sysc: Make rcar_sysc_init() init the PM domains

Let rcar_sysc_init() trigger initialization of the SYSC PM domains from
DT if called before the early_initcall.
On failure, it falls back to mapping the passed register block, as
before.
Signed-off-by: default avatarGeert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: default avatarSimon Horman <horms+renesas@verge.net.au>
parent 1023578e
...@@ -164,15 +164,6 @@ static bool rcar_sysc_power_is_off(const struct rcar_sysc_ch *sysc_ch) ...@@ -164,15 +164,6 @@ static bool rcar_sysc_power_is_off(const struct rcar_sysc_ch *sysc_ch)
return false; return false;
} }
void __iomem *rcar_sysc_init(phys_addr_t base)
{
rcar_sysc_base = ioremap_nocache(base, PAGE_SIZE);
if (!rcar_sysc_base)
panic("unable to ioremap R-Car SYSC hardware block\n");
return rcar_sysc_base;
}
struct rcar_sysc_pd { struct rcar_sysc_pd {
struct generic_pm_domain genpd; struct generic_pm_domain genpd;
struct rcar_sysc_ch ch; struct rcar_sysc_ch ch;
...@@ -328,6 +319,9 @@ static int __init rcar_sysc_pd_init(void) ...@@ -328,6 +319,9 @@ static int __init rcar_sysc_pd_init(void)
unsigned int i; unsigned int i;
int error; int error;
if (rcar_sysc_base)
return 0;
np = of_find_matching_node_and_match(NULL, rcar_sysc_matches, &match); np = of_find_matching_node_and_match(NULL, rcar_sysc_matches, &match);
if (!np) if (!np)
return -ENODEV; return -ENODEV;
...@@ -405,3 +399,11 @@ static int __init rcar_sysc_pd_init(void) ...@@ -405,3 +399,11 @@ static int __init rcar_sysc_pd_init(void)
return error; return error;
} }
early_initcall(rcar_sysc_pd_init); early_initcall(rcar_sysc_pd_init);
void __iomem * __init rcar_sysc_init(phys_addr_t base)
{
if (rcar_sysc_pd_init())
rcar_sysc_base = ioremap_nocache(base, PAGE_SIZE);
return rcar_sysc_base;
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment