|
@@ -56,6 +56,7 @@
|
|
|
#include <linux/mmc/sh_mmcif.h>
|
|
|
#include <linux/pagemap.h>
|
|
|
#include <linux/platform_device.h>
|
|
|
+#include <linux/pm_qos.h>
|
|
|
#include <linux/pm_runtime.h>
|
|
|
#include <linux/spinlock.h>
|
|
|
#include <linux/module.h>
|
|
@@ -1347,6 +1348,8 @@ static int __devinit sh_mmcif_probe(struct platform_device *pdev)
|
|
|
|
|
|
mmc_detect_change(host->mmc, 0);
|
|
|
|
|
|
+ dev_pm_qos_expose_latency_limit(&pdev->dev, 100);
|
|
|
+
|
|
|
dev_info(&pdev->dev, "driver version %s\n", DRIVER_VERSION);
|
|
|
dev_dbg(&pdev->dev, "chip ver H'%04x\n",
|
|
|
sh_mmcif_readl(host->addr, MMCIF_CE_VERSION) & 0x0000ffff);
|
|
@@ -1374,6 +1377,8 @@ static int __devexit sh_mmcif_remove(struct platform_device *pdev)
|
|
|
host->dying = true;
|
|
|
pm_runtime_get_sync(&pdev->dev);
|
|
|
|
|
|
+ dev_pm_qos_hide_latency_limit(&pdev->dev);
|
|
|
+
|
|
|
mmc_remove_host(host->mmc);
|
|
|
sh_mmcif_writel(host->addr, MMCIF_CE_INT_MASK, MASK_ALL);
|
|
|
|