diff options
author | Rafael J. Wysocki <rjw@sisk.pl> | 2012-03-12 20:02:15 -0400 |
---|---|---|
committer | Rafael J. Wysocki <rjw@sisk.pl> | 2012-03-13 17:37:29 -0400 |
commit | efe6a8ad7fc55b350ce968cae4c757d35e986285 (patch) | |
tree | 6e7f98266e3328dbc164fe3804ced8fa2a1c461e /drivers/mmc/host/sh_mmcif.c | |
parent | c419e611c3c59c0e48405c279e497c4bf1bf2cd2 (diff) |
sh_mmcif / PM: Use PM QoS latency constraint
Make sh_mmcif 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/host/sh_mmcif.c')
-rw-r--r-- | drivers/mmc/host/sh_mmcif.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/mmc/host/sh_mmcif.c b/drivers/mmc/host/sh_mmcif.c index f5d8b53be333..a4ad93bf8b41 100644 --- a/drivers/mmc/host/sh_mmcif.c +++ b/drivers/mmc/host/sh_mmcif.c | |||
@@ -56,6 +56,7 @@ | |||
56 | #include <linux/mmc/sh_mmcif.h> | 56 | #include <linux/mmc/sh_mmcif.h> |
57 | #include <linux/pagemap.h> | 57 | #include <linux/pagemap.h> |
58 | #include <linux/platform_device.h> | 58 | #include <linux/platform_device.h> |
59 | #include <linux/pm_qos.h> | ||
59 | #include <linux/pm_runtime.h> | 60 | #include <linux/pm_runtime.h> |
60 | #include <linux/spinlock.h> | 61 | #include <linux/spinlock.h> |
61 | #include <linux/module.h> | 62 | #include <linux/module.h> |
@@ -1347,6 +1348,8 @@ static int __devinit sh_mmcif_probe(struct platform_device *pdev) | |||
1347 | 1348 | ||
1348 | mmc_detect_change(host->mmc, 0); | 1349 | mmc_detect_change(host->mmc, 0); |
1349 | 1350 | ||
1351 | dev_pm_qos_expose_latency_limit(&pdev->dev, 100); | ||
1352 | |||
1350 | dev_info(&pdev->dev, "driver version %s\n", DRIVER_VERSION); | 1353 | dev_info(&pdev->dev, "driver version %s\n", DRIVER_VERSION); |
1351 | dev_dbg(&pdev->dev, "chip ver H'%04x\n", | 1354 | dev_dbg(&pdev->dev, "chip ver H'%04x\n", |
1352 | sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0x0000ffff); | 1355 | sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0x0000ffff); |
@@ -1374,6 +1377,8 @@ static int __devexit sh_mmcif_remove(struct platform_device *pdev) | |||
1374 | host->dying = true; | 1377 | host->dying = true; |
1375 | pm_runtime_get_sync(&pdev->dev); | 1378 | pm_runtime_get_sync(&pdev->dev); |
1376 | 1379 | ||
1380 | dev_pm_qos_hide_latency_limit(&pdev->dev); | ||
1381 | |||
1377 | mmc_remove_host(host->mmc); | 1382 | mmc_remove_host(host->mmc); |
1378 | sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL); | 1383 | sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL); |
1379 | 1384 | ||