soc: mediatek: SCPSYS: Fix double enabling of regulators

With CONFIG_PM enabled do not call genpd->power_on manually as this
will cause the regulators being turned on once in SCPSYS probe and
then again when the genpd core turns on the domains. Instead, call
genpd->power_on only with CONFIG_PM disabled and tell the genpd core
that the domains are disabled when registered.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Daniel Kurtz <djkurtz@chromium.org>
Reviewed-by: Daniel Kurtz <djkurtz@chromium.org>
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
This commit is contained in:
Sascha Hauer 2016-01-22 13:39:25 +01:00 committed by Matthias Brugger
parent be29523da3
commit cc8ed76938
1 changed files with 5 additions and 6 deletions

View File

@ -491,14 +491,13 @@ static int scpsys_probe(struct platform_device *pdev)
genpd->dev_ops.active_wakeup = scpsys_active_wakeup;
/*
* Initially turn on all domains to make the domains usable
* with !CONFIG_PM and to get the hardware in sync with the
* software. The unused domains will be switched off during
* late_init time.
* With CONFIG_PM disabled turn on all domains to make the
* hardware usable.
*/
genpd->power_on(genpd);
if (!IS_ENABLED(CONFIG_PM))
genpd->power_on(genpd);
pm_genpd_init(genpd, NULL, false);
pm_genpd_init(genpd, NULL, true);
}
/*