diff options
Diffstat (limited to 'drivers/mci/atmel_mci.c')
-rw-r--r-- | drivers/mci/atmel_mci.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/mci/atmel_mci.c b/drivers/mci/atmel_mci.c index e676c1bd5c..9021dba0f8 100644 --- a/drivers/mci/atmel_mci.c +++ b/drivers/mci/atmel_mci.c @@ -31,7 +31,7 @@ static int atmci_send_cmd(struct mci_host *mci, struct mci_cmd *cmd, return atmci_common_request(host, cmd, data); } -static void atmci_info(struct device_d *mci_dev) +static void atmci_info(struct device *mci_dev) { struct atmel_mci *host = mci_dev->priv; @@ -67,11 +67,11 @@ static int atmci_card_present(struct mci_host *mci) return ret == 0 ? 1 : 0; } -static int atmci_probe(struct device_d *hw_dev) +static int atmci_probe(struct device *hw_dev) { struct resource *iores; struct atmel_mci *host; - struct device_node *np = hw_dev->device_node; + struct device_node *np = hw_dev->of_node; struct atmel_mci_platform_data *pd = hw_dev->platform_data; int ret; @@ -105,8 +105,8 @@ static int atmci_probe(struct device_d *hw_dev) for_each_child_of_node(np, cnp) { if (of_property_read_u32(cnp, "reg", &slot_id)) { - dev_warn(hw_dev, "reg property is missing for %s\n", - cnp->full_name); + dev_warn(hw_dev, "reg property is missing for %pOF\n", + cnp); continue; } @@ -151,6 +151,7 @@ static int atmci_probe(struct device_d *hw_dev) clk_enable(host->clk); atmci_writel(host, ATMCI_CR, ATMCI_CR_SWRST); + atmci_writel(host, ATMCI_CR, ATMCI_CR_PWSDIS); atmci_writel(host, ATMCI_IDR, ~0UL); host->bus_hz = clk_get_rate(host->clk); clk_disable(host->clk); @@ -193,8 +194,9 @@ static __maybe_unused struct of_device_id atmci_compatible[] = { /* sentinel */ } }; +MODULE_DEVICE_TABLE(of, atmci_compatible); -static struct driver_d atmci_driver = { +static struct driver atmci_driver = { .name = "atmel_mci", .probe = atmci_probe, .of_compatible = DRV_OF_COMPAT(atmci_compatible), |