public inbox for linux-mmc@vger.kernel.org
 help / color / mirror / Atom feed
* [PATCH] mmc: rtsx_usb_sdmmc: Handle runtime PM while changing led
@ 2016-09-17 10:14 Ulf Hansson
       [not found] ` <1474107278-3271-1-git-send-email-ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
  0 siblings, 1 reply; 16+ messages in thread
From: Ulf Hansson @ 2016-09-17 10:14 UTC (permalink / raw)
  To: linux-mmc, Ulf Hansson
  Cc: Ritesh Raj Sarraf, Alan Stern, USB list, Micky Ching, Roger Tseng,
	Wei WANG

Each access of the parent device (usb device) needs to be done in runtime
resumed state. Currently this isn't case while changing the leds, so let's
add pm_runtime_get_sync() and pm_runtime_put() around these calls.

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

While discussing an issue[1] related to runtime PM, I found out that this
minor change at least improves the behavior that has been observed.

[1]
http://www.spinics.net/lists/linux-usb/msg144634.html

---
 drivers/mmc/host/rtsx_usb_sdmmc.c | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/drivers/mmc/host/rtsx_usb_sdmmc.c b/drivers/mmc/host/rtsx_usb_sdmmc.c
index 6c71fc9..a59c7fa 100644
--- a/drivers/mmc/host/rtsx_usb_sdmmc.c
+++ b/drivers/mmc/host/rtsx_usb_sdmmc.c
@@ -1314,6 +1314,7 @@ static void rtsx_usb_update_led(struct work_struct *work)
 		container_of(work, struct rtsx_usb_sdmmc, led_work);
 	struct rtsx_ucr *ucr = host->ucr;
 
+	pm_runtime_get_sync(sdmmc_dev(host));
 	mutex_lock(&ucr->dev_mutex);
 
 	if (host->led.brightness == LED_OFF)
@@ -1322,6 +1323,7 @@ static void rtsx_usb_update_led(struct work_struct *work)
 		rtsx_usb_turn_on_led(ucr);
 
 	mutex_unlock(&ucr->dev_mutex);
+	pm_runtime_put(sdmmc_dev(host));
 }
 #endif
 
-- 
1.9.1


^ permalink raw reply related	[flat|nested] 16+ messages in thread

end of thread, other threads:[~2016-09-22 14:00 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-17 10:14 [PATCH] mmc: rtsx_usb_sdmmc: Handle runtime PM while changing led Ulf Hansson
     [not found] ` <1474107278-3271-1-git-send-email-ulf.hansson-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org>
2016-09-18  2:30   ` Alan Stern
2016-09-19  9:24     ` Ulf Hansson
     [not found]       ` <CAPDyKFpFObRkvUC5kOKznE3FAGL6H_Hufa7ZEFWpmB694AY9ow-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-19 18:02         ` Alan Stern
2016-09-20  9:34           ` Ulf Hansson
     [not found]             ` <CAPDyKFq2Y1vn1OjNJJg7hocbzFo-QUpezLSMWnF_1cSJ9Ot3NQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-20 14:09               ` Alan Stern
     [not found]                 ` <Pine.LNX.4.44L0.1609200951500.1459-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-09-21 10:39                   ` Ulf Hansson
     [not found]                     ` <CAPDyKFqgfhsOdrz5ncTh5Z_OZ6tvnMVoQ_2g7ZyM02aaVzGQWg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-21 14:45                       ` Alan Stern
     [not found]                         ` <Pine.LNX.4.44L0.1609211038270.1996-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-09-22 10:13                           ` Ulf Hansson
     [not found]                             ` <CAPDyKFozTL9h3HXoimHc4X3jeWQtJaedrfExVq1A5g7-JzcNLg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-22 13:56                               ` Alan Stern
     [not found]           ` <Pine.LNX.4.44L0.1609191348440.1458-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-09-20  9:40             ` Oliver Neukum
2016-09-20 14:12               ` Alan Stern
     [not found]                 ` <Pine.LNX.4.44L0.1609201009470.1459-100000-IYeN2dnnYyZXsRXLowluHWD2FQJk+8+b@public.gmane.org>
2016-09-21  9:50                   ` Oliver Neukum
     [not found]                     ` <1474451450.2675.13.camel-IBi9RG/b67k@public.gmane.org>
2016-09-21 14:35                       ` Alan Stern
2016-09-22 13:24                         ` Oliver Neukum
     [not found]                           ` <1474550656.11364.32.camel-IBi9RG/b67k@public.gmane.org>
2016-09-22 14:00                             ` Alan Stern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox