aboutsummaryrefslogtreecommitdiff
path: root/drivers/mmc
diff options
context:
space:
mode:
authorRafael J. Wysocki <rjw@sisk.pl>2012-03-13 01:01:51 +0100
committerRafael J. Wysocki <rjw@sisk.pl>2012-03-13 22:37:21 +0100
commitc419e611c3c59c0e48405c279e497c4bf1bf2cd2 (patch)
tree6be86a3b2796e9e5faae968109e3ed66e7363927 /drivers/mmc
parent85dc0b8a4019e38ad4fd0c008f89a5c241805ac2 (diff)
tmio_mmc / PM: Use PM QoS latency constraint
Make tmio_mmc call dev_pm_qos_expose_latency_limit() to expose the PM QoS latency limit to user space and specify the initial value of it as 100 microseconds. Signed-off-by: Rafael J. Wysocki <rjw@sisk.pl>
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/host/tmio_mmc_pio.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/tmio_mmc_pio.c b/drivers/mmc/host/tmio_mmc_pio.c
index abad01b37cf..fc3eb1a7fe2 100644
--- a/drivers/mmc/host/tmio_mmc_pio.c
+++ b/drivers/mmc/host/tmio_mmc_pio.c
@@ -39,6 +39,7 @@
#include <linux/module.h>
#include <linux/pagemap.h>
#include <linux/platform_device.h>
+#include <linux/pm_qos.h>
#include <linux/pm_runtime.h>
#include <linux/scatterlist.h>
#include <linux/workqueue.h>
@@ -951,6 +952,8 @@ int __devinit tmio_mmc_host_probe(struct tmio_mmc_host **host,
mmc_add_host(mmc);
+ dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
+
/* Unmask the IRQs we want to know about */
if (!_host->chan_rx)
irq_mask |= TMIO_MASK_READOP;
@@ -989,6 +992,8 @@ void tmio_mmc_host_remove(struct tmio_mmc_host *host)
|| host->mmc->caps & MMC_CAP_NONREMOVABLE)
pm_runtime_get_sync(&pdev->dev);
+ dev_pm_qos_hide_latency_limit(&pdev->dev);
+
mmc_remove_host(host->mmc);
cancel_work_sync(&host->done);
cancel_delayed_work_sync(&host->delayed_reset_work);