diff mbox

[V2] mmc: mmci: Use pm_runtime_put_noidle() during ->probe()

Message ID 1418986459-13443-1-git-send-email-ulf.hansson@linaro.org
State New
Headers show

Commit Message

Ulf Hansson Dec. 19, 2014, 10:54 a.m. UTC
Previously the pm_runtime_put() caused the device to be runtime PM
suspended, but then immediately being resumed when we add the host.

Prevent this unnecessary runtime PM suspend/resume cycle during
->probe() by using the pm_runtime_put_noidle() variant instead.

Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
---

Changes in v2:
	Move pm_runtime_put_noidle() after mmc_add_host().

---
 drivers/mmc/host/mmci.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Ulf Hansson Dec. 19, 2014, 11:29 a.m. UTC | #1
On 19 December 2014 at 11:59, Russell King - ARM Linux
<linux@arm.linux.org.uk> wrote:
> On Fri, Dec 19, 2014 at 11:54:19AM +0100, Ulf Hansson wrote:
>> Previously the pm_runtime_put() caused the device to be runtime PM
>> suspended, but then immediately being resumed when we add the host.
>>
>> Prevent this unnecessary runtime PM suspend/resume cycle during
>> ->probe() by using the pm_runtime_put_noidle() variant instead.
>>
>> Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
>> ---
>>
>> Changes in v2:
>>       Move pm_runtime_put_noidle() after mmc_add_host().
>>
>> ---
>>  drivers/mmc/host/mmci.c | 2 +-
>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>
>> diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
>> index 8232e9a..d2bbd25 100644
>> --- a/drivers/mmc/host/mmci.c
>> +++ b/drivers/mmc/host/mmci.c
>> @@ -1739,10 +1739,10 @@ static int mmci_probe(struct amba_device *dev,
>>
>>       pm_runtime_set_autosuspend_delay(&dev->dev, 50);
>>       pm_runtime_use_autosuspend(&dev->dev);
>> -     pm_runtime_put(&dev->dev);
>>
>>       mmc_add_host(mmc);
>>
>> +     pm_runtime_put_noidle(&dev->dev);
>
> I think you'd want this to be _put() in this case.

It doesn't matter which variant of _put*(). The driver core will
invoke pm_request_idle() after really_probe() is done.

Kind regards
Uffe
--
To unsubscribe from this list: send the line "unsubscribe linux-mmc" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
diff mbox

Patch

diff --git a/drivers/mmc/host/mmci.c b/drivers/mmc/host/mmci.c
index 8232e9a..d2bbd25 100644
--- a/drivers/mmc/host/mmci.c
+++ b/drivers/mmc/host/mmci.c
@@ -1739,10 +1739,10 @@  static int mmci_probe(struct amba_device *dev,
 
 	pm_runtime_set_autosuspend_delay(&dev->dev, 50);
 	pm_runtime_use_autosuspend(&dev->dev);
-	pm_runtime_put(&dev->dev);
 
 	mmc_add_host(mmc);
 
+	pm_runtime_put_noidle(&dev->dev);
 	return 0;
 
  clk_disable: