diff options
author | djMesias <djmesias@terra.es> | 2012-12-30 09:52:19 +0100 |
---|---|---|
committer | djMesias <djmesias@terra.es> | 2012-12-30 09:52:19 +0100 |
commit | 8cb0ca357f3865bc8e11d3f022ad797107ea0849 (patch) | |
tree | 7a8257cc3909a906451e5e6e0b863c586af1a2d4 | |
parent | 1d2e67fbaaaba1791e74c640fd7aff11239fb8f2 (diff) | |
download | kernel_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_defconfig | 1 | ||||
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 18 |
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 |