aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authordjMesias <djmesias@terra.es>2012-12-30 09:52:19 +0100
committerdjMesias <djmesias@terra.es>2012-12-30 09:52:19 +0100
commit8cb0ca357f3865bc8e11d3f022ad797107ea0849 (patch)
tree7a8257cc3909a906451e5e6e0b863c586af1a2d4
parent1d2e67fbaaaba1791e74c640fd7aff11239fb8f2 (diff)
downloadkernel_samsung_tuna-8cb0ca357f3865bc8e11d3f022ad797107ea0849.zip
kernel_samsung_tuna-8cb0ca357f3865bc8e11d3f022ad797107ea0849.tar.gz
kernel_samsung_tuna-8cb0ca357f3865bc8e11d3f022ad797107ea0849.tar.bz2
Fixed voodoo multipliers stuff
Added CONFIG_UHID=y to defconfig Restored omap_hsmmc.c to 3.0-jb-mr1 branch Change-Id: I2d72bcf1372caaff9ff65ab5f20daaeed0f70603
-rw-r--r--arch/arm/configs/cyanogenmod_tuna_defconfig1
-rw-r--r--drivers/mmc/host/omap_hsmmc.c18
2 files changed, 7 insertions, 12 deletions
diff --git a/arch/arm/configs/cyanogenmod_tuna_defconfig b/arch/arm/configs/cyanogenmod_tuna_defconfig
index c1f040c..54b8376 100644
--- a/arch/arm/configs/cyanogenmod_tuna_defconfig
+++ b/arch/arm/configs/cyanogenmod_tuna_defconfig
@@ -1870,6 +1870,7 @@ CONFIG_SND_SOC_OMAP_HDMI_CODEC=y
CONFIG_HID_SUPPORT=y
CONFIG_HID=y
# CONFIG_HIDRAW is not set
+CONFIG_UHID=y
#
# USB Input Devices
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c
index a47503d..c507190 100644
--- a/drivers/mmc/host/omap_hsmmc.c
+++ b/drivers/mmc/host/omap_hsmmc.c
@@ -2329,6 +2329,8 @@ static int omap_hsmmc_suspend(struct device *dev)
return 0;
if (host) {
+ pm_runtime_get_sync(host->dev);
+
host->suspended = 1;
if (host->pdata->suspend) {
ret = host->pdata->suspend(&pdev->dev,
@@ -2338,6 +2340,7 @@ static int omap_hsmmc_suspend(struct device *dev)
"Unable to handle MMC board"
" level suspend\n");
host->suspended = 0;
+ pm_runtime_put_sync(host->dev);
return ret;
}
}
@@ -2346,11 +2349,9 @@ static int omap_hsmmc_suspend(struct device *dev)
host->mmc->pm_flags |= MMC_PM_KEEP_POWER;
ret = mmc_suspend_host(host->mmc);
if (ret == 0) {
- mmc_host_enable(host->mmc);
omap_hsmmc_disable_irq(host);
OMAP_HSMMC_WRITE(host->base, HCTL,
OMAP_HSMMC_READ(host->base, HCTL) & ~SDBP);
- mmc_host_disable(host->mmc);
if (host->got_dbclk)
clk_disable(host->dbclk);
@@ -2365,6 +2366,7 @@ static int omap_hsmmc_suspend(struct device *dev)
}
}
+ pm_runtime_put_sync(host->dev);
}
return ret;
}
@@ -2380,9 +2382,7 @@ static int omap_hsmmc_resume(struct device *dev)
return 0;
if (host) {
- if (mmc_host_enable(host->mmc) != 0) {
- goto clk_en_err;
- }
+ pm_runtime_get_sync(host->dev);
if (host->got_dbclk)
clk_enable(host->dbclk);
@@ -2403,16 +2403,10 @@ static int omap_hsmmc_resume(struct device *dev)
if (ret == 0)
host->suspended = 0;
- mmc_host_lazy_disable(host->mmc);
+ pm_runtime_put_sync(host->dev);
}
return ret;
-
-clk_en_err:
- dev_dbg(mmc_dev(host->mmc),
- "Failed to enable MMC clocks during resume\n");
- return ret;
-
}
#else