If host clock is disabled, host cannot detect a card in case of using the internal or gpio card-detect for detection. Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> Tested-by: Heiko Stuebner <heiko@xxxxxxxxx> --- I've added the SDHCI_CD_GPIO to the conditional. With this change it works on my machine. But I'm not sure if this would also be necessary for the external card detect. drivers/mmc/host/sdhci-s3c.c | 8 ++++++-- 1 files changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/mmc/host/sdhci-s3c.c b/drivers/mmc/host/sdhci-s3c.c index 0cabf18..649dc32 100644 --- a/drivers/mmc/host/sdhci-s3c.c +++ b/drivers/mmc/host/sdhci-s3c.c @@ -750,7 +750,9 @@ static int __devinit sdhci_s3c_probe(struct platform_device *pdev) sdhci_s3c_setup_card_detect_gpio(sc); #ifdef CONFIG_PM_RUNTIME - clk_disable(sc->clk_io); + if (pdata->cd_type != S3C_SDHCI_CD_INTERNAL && + pdata->cd_type != S3C_SDHCI_CD_GPIO) + clk_disable(sc->clk_io); #endif return 0; @@ -797,7 +799,9 @@ static int __devexit sdhci_s3c_remove(struct platform_device *pdev) gpio_free(sc->ext_cd_gpio); #ifdef CONFIG_PM_RUNTIME - clk_enable(sc->clk_io); + if (pdata->cd_type != S3C_SDHCI_CD_INTERNAL && + pdata->cd_type != S3C_SDHCI_CD_GPIO) + clk_enable(sc->clk_io); #endif sdhci_remove_host(host, 1); -- 1.7.2.3 -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html