static int sdhci_sirf_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_sirf_priv *priv = sdhci_pltfm_priv(pltfm_host); sdhci_pltfm_unregister(pdev); clk_disable_unprepare(priv->clk); return 0; }
static int sdhci_sirf_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_sirf_priv *priv = sdhci_pltfm_priv(pltfm_host); sdhci_pltfm_unregister(pdev); if (gpio_is_valid(priv->gpio_cd)) mmc_gpio_free_cd(host->mmc); clk_disable_unprepare(priv->clk); return 0; }
static int sdhci_zynq_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct xsdhcips *xsdhcips = pltfm_host->priv; clk_notifier_unregister(xsdhcips->devclk, &xsdhcips->clk_rate_change_nb); clk_disable_unprepare(xsdhcips->devclk); clk_disable_unprepare(xsdhcips->aperclk); clk_put(xsdhcips->devclk); clk_put(xsdhcips->aperclk); kfree(xsdhcips); return sdhci_pltfm_unregister(pdev); }
static int sdhci_at91_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_at91_priv *priv = pltfm_host->priv; pm_runtime_get_sync(&pdev->dev); pm_runtime_disable(&pdev->dev); pm_runtime_put_noidle(&pdev->dev); sdhci_pltfm_unregister(pdev); clk_disable_unprepare(priv->gck); clk_disable_unprepare(priv->hclock); clk_disable_unprepare(priv->mainck); return 0; }
static int sdhci_dove_remove(struct platform_device *pdev) { struct sdhci_host *host = platform_get_drvdata(pdev); struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); struct sdhci_dove_priv *priv = pltfm_host->priv; sdhci_pltfm_unregister(pdev); if (gpio_is_valid(priv->gpio_cd)) { free_irq(gpio_to_irq(priv->gpio_cd), host); gpio_free(priv->gpio_cd); } if (!IS_ERR(priv->clk)) clk_disable_unprepare(priv->clk); return 0; }
static int sdhci_hlwd_remove(struct platform_device *pdev) { return sdhci_pltfm_unregister(pdev); }
static int __devexit sdhci_esdhc_remove(struct platform_device *pdev) { return sdhci_pltfm_unregister(pdev); }