Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cc8ed769 authored by Sascha Hauer's avatar Sascha Hauer Committed by Matthias Brugger
Browse files

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: default avatarSascha Hauer <s.hauer@pengutronix.de>
Tested-by: default avatarDaniel Kurtz <djkurtz@chromium.org>
Reviewed-by: default avatarDaniel Kurtz <djkurtz@chromium.org>
Signed-off-by: default avatarMatthias Brugger <matthias.bgg@gmail.com>
parent be29523d
Loading
Loading
Loading
Loading
+5 −6
Original line number Diff line number Diff line
@@ -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.
		 */
		if (!IS_ENABLED(CONFIG_PM))
			genpd->power_on(genpd);

		pm_genpd_init(genpd, NULL, false);
		pm_genpd_init(genpd, NULL, true);
	}

	/*