@@ -53,7 +53,15 @@ static void enable_clock(struct sdhci_host *host)
}
}
+static unsigned int get_f_max_clock(struct sdhci_host *host)
+{
+ struct sdhci_pxa *pxa = sdhci_priv(host);
+
+ return pxa->pdata->max_speed;
+}
+
static struct sdhci_ops sdhci_pxa_ops = {
+ .get_f_max_clock = NULL,
};
/*****************************************************************************\
@@ -131,15 +139,17 @@ static int __devinit sdhci_pxa_probe(struct platform_device *pdev)
/* do not rely on u-boot to enable the clocks */
enable_clock(host);
+ if (pxa->pdata->max_speed)
+ sdhci_pxa_ops.get_f_max_clock = get_f_max_clock;
+ else
+ sdhci_pxa_ops.get_f_max_clock = NULL;
+
ret = sdhci_add_host(host);
if (ret) {
dev_err(&pdev->dev, "failed to add host\n");
goto out;
}
- if (pxa->pdata->max_speed)
- host->mmc->f_max = pxa->pdata->max_speed;
-
platform_set_drvdata(pdev, host);
return 0;