From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ulf Hansson Subject: [PATCH v3 3/9] amba: Keep PM domain powered during ->probe() Date: Mon, 13 Oct 2014 16:02:04 +0200 Message-ID: <1413208930-26019-4-git-send-email-ulf.hansson@linaro.org> References: <1413208930-26019-1-git-send-email-ulf.hansson@linaro.org> Return-path: In-Reply-To: <1413208930-26019-1-git-send-email-ulf.hansson@linaro.org> Sender: linux-samsung-soc-owner@vger.kernel.org To: "Rafael J. Wysocki" , Len Brown , Pavel Machek , linux-pm@vger.kernel.org Cc: linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, Geert Uytterhoeven , Kevin Hilman , Alan Stern , Greg Kroah-Hartman , Tomasz Figa , Simon Horman , Magnus Damm , Ben Dooks , Kukjin Kim , Philipp Zabel , Mark Brown , Wolfram Sang , Russell King , Dmitry Torokhov , Jack Dai , Jinkun Hong , Aaron Lu , Sylwester Nawrocki , Ulf Hansson List-Id: linux-pm@vger.kernel.org To sucessfully probe some devices their corresponding PM domains may need to be powered. Use the dev_pm_domain_get|put() APIs, to control the behavior of the PM domain. Signed-off-by: Ulf Hansson --- drivers/amba/bus.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/amba/bus.c b/drivers/amba/bus.c index 47bbdc1..a8a8e13 100644 --- a/drivers/amba/bus.c +++ b/drivers/amba/bus.c @@ -187,8 +187,15 @@ static int amba_probe(struct device *dev) if (ret == -EPROBE_DEFER) break; + ret = dev_pm_domain_get(dev->pm_domain); + if (ret) { + dev_pm_domain_detach(dev, true); + break; + } + ret = amba_get_enable_pclk(pcdev); if (ret) { + dev_pm_domain_put(dev->pm_domain); dev_pm_domain_detach(dev, true); break; } @@ -198,6 +205,7 @@ static int amba_probe(struct device *dev) pm_runtime_enable(dev); ret = pcdrv->probe(pcdev, id); + dev_pm_domain_put(dev->pm_domain); if (ret == 0) break; -- 1.9.1