sdhci-s3c.c (aeb8f932080d62cdc305a7ccca9d60de34908b30) sdhci-s3c.c (162d6f98005fce408efc5af73956c434ae08ef73)
1/* linux/drivers/mmc/host/sdhci-s3c.c
2 *
3 * Copyright 2008 Openmoko Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
7 *
8 * SDHCI (HSMMC) support for Samsung SoC

--- 595 unchanged lines hidden (view full) ---

604 mmc_of_parse(host->mmc);
605
606 ret = sdhci_add_host(host);
607 if (ret) {
608 dev_err(dev, "sdhci_add_host() failed\n");
609 goto err_req_regs;
610 }
611
1/* linux/drivers/mmc/host/sdhci-s3c.c
2 *
3 * Copyright 2008 Openmoko Inc.
4 * Copyright 2008 Simtec Electronics
5 * Ben Dooks <ben@simtec.co.uk>
6 * http://armlinux.simtec.co.uk/
7 *
8 * SDHCI (HSMMC) support for Samsung SoC

--- 595 unchanged lines hidden (view full) ---

604 mmc_of_parse(host->mmc);
605
606 ret = sdhci_add_host(host);
607 if (ret) {
608 dev_err(dev, "sdhci_add_host() failed\n");
609 goto err_req_regs;
610 }
611
612#ifdef CONFIG_PM_RUNTIME
612#ifdef CONFIG_PM
613 if (pdata->cd_type != S3C_SDHCI_CD_INTERNAL)
614 clk_disable_unprepare(sc->clk_io);
615#endif
616 return 0;
617
618 err_req_regs:
619 pm_runtime_disable(&pdev->dev);
620

--- 9 unchanged lines hidden (view full) ---

630static int sdhci_s3c_remove(struct platform_device *pdev)
631{
632 struct sdhci_host *host = platform_get_drvdata(pdev);
633 struct sdhci_s3c *sc = sdhci_priv(host);
634
635 if (sc->ext_cd_irq)
636 free_irq(sc->ext_cd_irq, sc);
637
613 if (pdata->cd_type != S3C_SDHCI_CD_INTERNAL)
614 clk_disable_unprepare(sc->clk_io);
615#endif
616 return 0;
617
618 err_req_regs:
619 pm_runtime_disable(&pdev->dev);
620

--- 9 unchanged lines hidden (view full) ---

630static int sdhci_s3c_remove(struct platform_device *pdev)
631{
632 struct sdhci_host *host = platform_get_drvdata(pdev);
633 struct sdhci_s3c *sc = sdhci_priv(host);
634
635 if (sc->ext_cd_irq)
636 free_irq(sc->ext_cd_irq, sc);
637
638#ifdef CONFIG_PM_RUNTIME
638#ifdef CONFIG_PM
639 if (sc->pdata->cd_type != S3C_SDHCI_CD_INTERNAL)
640 clk_prepare_enable(sc->clk_io);
641#endif
642 sdhci_remove_host(host, 1);
643
644 pm_runtime_dont_use_autosuspend(&pdev->dev);
645 pm_runtime_disable(&pdev->dev);
646

--- 15 unchanged lines hidden (view full) ---

662static int sdhci_s3c_resume(struct device *dev)
663{
664 struct sdhci_host *host = dev_get_drvdata(dev);
665
666 return sdhci_resume_host(host);
667}
668#endif
669
639 if (sc->pdata->cd_type != S3C_SDHCI_CD_INTERNAL)
640 clk_prepare_enable(sc->clk_io);
641#endif
642 sdhci_remove_host(host, 1);
643
644 pm_runtime_dont_use_autosuspend(&pdev->dev);
645 pm_runtime_disable(&pdev->dev);
646

--- 15 unchanged lines hidden (view full) ---

662static int sdhci_s3c_resume(struct device *dev)
663{
664 struct sdhci_host *host = dev_get_drvdata(dev);
665
666 return sdhci_resume_host(host);
667}
668#endif
669
670#ifdef CONFIG_PM_RUNTIME
670#ifdef CONFIG_PM
671static int sdhci_s3c_runtime_suspend(struct device *dev)
672{
673 struct sdhci_host *host = dev_get_drvdata(dev);
674 struct sdhci_s3c *ourhost = to_s3c(host);
675 struct clk *busclk = ourhost->clk_io;
676 int ret;
677
678 ret = sdhci_runtime_suspend_host(host);

--- 83 unchanged lines hidden ---
671static int sdhci_s3c_runtime_suspend(struct device *dev)
672{
673 struct sdhci_host *host = dev_get_drvdata(dev);
674 struct sdhci_s3c *ourhost = to_s3c(host);
675 struct clk *busclk = ourhost->clk_io;
676 int ret;
677
678 ret = sdhci_runtime_suspend_host(host);

--- 83 unchanged lines hidden ---