diff options
-rw-r--r-- | arch/arm/mach-exynos/pm_domains.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/arch/arm/mach-exynos/pm_domains.c b/arch/arm/mach-exynos/pm_domains.c index e9fafcf163de..0a952a5c45bd 100644 --- a/arch/arm/mach-exynos/pm_domains.c +++ b/arch/arm/mach-exynos/pm_domains.c | |||
@@ -151,9 +151,12 @@ static __init int exynos4_pm_init_power_domain(void) | |||
151 | if (of_have_populated_dt()) | 151 | if (of_have_populated_dt()) |
152 | return exynos_pm_dt_parse_domains(); | 152 | return exynos_pm_dt_parse_domains(); |
153 | 153 | ||
154 | for (idx = 0; idx < ARRAY_SIZE(exynos4_pm_domains); idx++) | 154 | for (idx = 0; idx < ARRAY_SIZE(exynos4_pm_domains); idx++) { |
155 | pm_genpd_init(&exynos4_pm_domains[idx]->pd, NULL, | 155 | struct exynos_pm_domain *pd = exynos4_pm_domains[idx]; |
156 | exynos4_pm_domains[idx]->is_off); | 156 | int on = __raw_readl(pd->base + 0x4) & S5P_INT_LOCAL_PWR_EN; |
157 | |||
158 | pm_genpd_init(&pd->pd, NULL, !on); | ||
159 | } | ||
157 | 160 | ||
158 | #ifdef CONFIG_S5P_DEV_FIMD0 | 161 | #ifdef CONFIG_S5P_DEV_FIMD0 |
159 | exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0); | 162 | exynos_pm_add_dev_to_genpd(&s5p_device_fimd0, &exynos4_pd_lcd0); |