|
@@ -442,16 +442,12 @@ static int sdhci_msm_probe(struct platform_device *pdev)
|
|
|
u32 core_version, caps;
|
|
|
u8 core_major;
|
|
|
|
|
|
- msm_host = devm_kzalloc(&pdev->dev, sizeof(*msm_host), GFP_KERNEL);
|
|
|
- if (!msm_host)
|
|
|
- return -ENOMEM;
|
|
|
-
|
|
|
- host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, 0);
|
|
|
+ host = sdhci_pltfm_init(pdev, &sdhci_msm_pdata, sizeof(*msm_host));
|
|
|
if (IS_ERR(host))
|
|
|
return PTR_ERR(host);
|
|
|
|
|
|
pltfm_host = sdhci_priv(host);
|
|
|
- pltfm_host->priv = msm_host;
|
|
|
+ msm_host = sdhci_pltfm_priv(pltfm_host);
|
|
|
msm_host->mmc = host->mmc;
|
|
|
msm_host->pdev = pdev;
|
|
|
|
|
@@ -571,16 +567,16 @@ static int sdhci_msm_remove(struct platform_device *pdev)
|
|
|
{
|
|
|
struct sdhci_host *host = platform_get_drvdata(pdev);
|
|
|
struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host);
|
|
|
- struct sdhci_msm_host *msm_host = pltfm_host->priv;
|
|
|
+ struct sdhci_msm_host *msm_host = sdhci_pltfm_priv(pltfm_host);
|
|
|
int dead = (readl_relaxed(host->ioaddr + SDHCI_INT_STATUS) ==
|
|
|
0xffffffff);
|
|
|
|
|
|
sdhci_remove_host(host, dead);
|
|
|
- sdhci_pltfm_free(pdev);
|
|
|
clk_disable_unprepare(msm_host->clk);
|
|
|
clk_disable_unprepare(msm_host->pclk);
|
|
|
if (!IS_ERR(msm_host->bus_clk))
|
|
|
clk_disable_unprepare(msm_host->bus_clk);
|
|
|
+ sdhci_pltfm_free(pdev);
|
|
|
return 0;
|
|
|
}
|
|
|
|