summaryrefslogtreecommitdiffstats
path: root/drivers/mci/atmel-sdhci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/mci/atmel-sdhci.c')
-rw-r--r--drivers/mci/atmel-sdhci.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/drivers/mci/atmel-sdhci.c b/drivers/mci/atmel-sdhci.c
index 6351186476..c124e736bb 100644
--- a/drivers/mci/atmel-sdhci.c
+++ b/drivers/mci/atmel-sdhci.c
@@ -24,7 +24,7 @@ struct at91_sdhci_priv {
struct mci_host mci;
struct clk *hclock, *gck, *mainck;
bool cal_always_on;
- u32 gck_rate;
+ int gck_rate;
};
#define to_priv(h) container_of(h, struct at91_sdhci_priv, mci)
@@ -40,13 +40,15 @@ static void at91_sdhci_mci_set_ios(struct mci_host *mci, struct mci_ios *ios)
at91_sdhci_set_ios(&to_priv(mci)->host, ios);
}
-static int at91_sdhci_mci_init(struct mci_host *mci, struct device_d *dev)
+static int at91_sdhci_mci_init(struct mci_host *mci, struct device *dev)
{
struct at91_sdhci_priv *priv = to_priv(mci);
struct sdhci *sdhci = &priv->host.sdhci;
int ret;
- ret = sdhci_reset(sdhci, SDHCI_RESET_ALL);
+ priv->host.dev = dev;
+
+ ret = sdhci_reset(sdhci, SDHCI_RESET_CMD | SDHCI_RESET_DATA);
if (ret)
return ret;
@@ -97,7 +99,7 @@ static int at91_sdhci_card_present(struct mci_host *mci)
return at91_sdhci_is_card_inserted(&to_priv(mci)->host);
}
-static int at91_sdhci_probe(struct device_d *dev)
+static int at91_sdhci_probe(struct device *dev)
{
struct at91_sdhci_priv *priv;
struct resource *iores;
@@ -133,7 +135,7 @@ static int at91_sdhci_probe(struct device_d *dev)
* if SDCAL pin is wrongly connected, we must enable
* the analog calibration cell permanently.
*/
- priv->cal_always_on = of_property_read_bool(dev->device_node,
+ priv->cal_always_on = of_property_read_bool(dev->of_node,
"microchip,sdcal-inverted");
at91_sdhci_mmio_init(&priv->host, IOMEM(iores->start));
@@ -160,8 +162,9 @@ static const struct of_device_id at91_sdhci_dt_match[] = {
{ .compatible = "microchip,sam9x60-sdhci" },
{ /* sentinel */ }
};
+MODULE_DEVICE_TABLE(of, at91_sdhci_dt_match);
-static struct driver_d at91_sdhci_driver = {
+static struct driver at91_sdhci_driver = {
.name = "sdhci-at91",
.of_compatible = DRV_OF_COMPAT(at91_sdhci_dt_match),
.probe = at91_sdhci_probe,