diff options
author | Arnd Bergmann <arnd@arndb.de> | 2012-05-14 16:35:04 -0400 |
---|---|---|
committer | Arnd Bergmann <arnd@arndb.de> | 2012-05-15 07:44:11 -0400 |
commit | deb88cc3c69975cbd9875ed9fac259b351f6b64d (patch) | |
tree | ece2ffba5c3e585cf649d73e4ea1784037335468 /drivers/mmc/host | |
parent | ecf1b318347f6c250293ee8a9f2597373b00e0c3 (diff) | |
parent | 7f217794ffa72f208a250b79ab0b7ea3de19677f (diff) |
Merge branch 'drivers/mmc' into next/dt2
Changes in the dt2 branch move stuff around that gets changed
in the drivers/mmc branch. I chose a non-obvious resolution by
adding the new bus-width property into all the tegra sdhci device
nodes.
Conflicts:
arch/arm/boot/dts/tegra-cardhu.dts
arch/arm/boot/dts/tegra-harmony.dts
arch/arm/boot/dts/tegra-ventana.dts
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Diffstat (limited to 'drivers/mmc/host')
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 2 | ||||
-rw-r--r-- | drivers/mmc/host/sdhci-esdhc-imx.c | 2 | ||||
-rw-r--r-- | drivers/mmc/host/sdhci-pltfm.c | 8 |
3 files changed, 8 insertions, 4 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index 56d4499d4388..33e81c24e140 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -1766,7 +1766,7 @@ static struct omap_mmc_platform_data *of_get_hsmmc_pdata(struct device *dev) | |||
1766 | pdata->slots[0].nonremovable = true; | 1766 | pdata->slots[0].nonremovable = true; |
1767 | pdata->slots[0].no_regulator_off_init = true; | 1767 | pdata->slots[0].no_regulator_off_init = true; |
1768 | } | 1768 | } |
1769 | of_property_read_u32(np, "ti,bus-width", &bus_width); | 1769 | of_property_read_u32(np, "bus-width", &bus_width); |
1770 | if (bus_width == 4) | 1770 | if (bus_width == 4) |
1771 | pdata->slots[0].caps |= MMC_CAP_4_BIT_DATA; | 1771 | pdata->slots[0].caps |= MMC_CAP_4_BIT_DATA; |
1772 | else if (bus_width == 8) | 1772 | else if (bus_width == 8) |
diff --git a/drivers/mmc/host/sdhci-esdhc-imx.c b/drivers/mmc/host/sdhci-esdhc-imx.c index 6b0e3f33ede3..ebbe984e5d00 100644 --- a/drivers/mmc/host/sdhci-esdhc-imx.c +++ b/drivers/mmc/host/sdhci-esdhc-imx.c | |||
@@ -407,7 +407,7 @@ sdhci_esdhc_imx_probe_dt(struct platform_device *pdev, | |||
407 | if (!np) | 407 | if (!np) |
408 | return -ENODEV; | 408 | return -ENODEV; |
409 | 409 | ||
410 | if (of_get_property(np, "fsl,card-wired", NULL)) | 410 | if (of_get_property(np, "non-removable", NULL)) |
411 | boarddata->cd_type = ESDHC_CD_PERMANENT; | 411 | boarddata->cd_type = ESDHC_CD_PERMANENT; |
412 | 412 | ||
413 | if (of_get_property(np, "fsl,cd-controller", NULL)) | 413 | if (of_get_property(np, "fsl,cd-controller", NULL)) |
diff --git a/drivers/mmc/host/sdhci-pltfm.c b/drivers/mmc/host/sdhci-pltfm.c index c5c2a48bdd94..d9a4ef4f1ed0 100644 --- a/drivers/mmc/host/sdhci-pltfm.c +++ b/drivers/mmc/host/sdhci-pltfm.c | |||
@@ -42,7 +42,8 @@ static struct sdhci_ops sdhci_pltfm_ops = { | |||
42 | #ifdef CONFIG_OF | 42 | #ifdef CONFIG_OF |
43 | static bool sdhci_of_wp_inverted(struct device_node *np) | 43 | static bool sdhci_of_wp_inverted(struct device_node *np) |
44 | { | 44 | { |
45 | if (of_get_property(np, "sdhci,wp-inverted", NULL)) | 45 | if (of_get_property(np, "sdhci,wp-inverted", NULL) || |
46 | of_get_property(np, "wp-inverted", NULL)) | ||
46 | return true; | 47 | return true; |
47 | 48 | ||
48 | /* Old device trees don't have the wp-inverted property. */ | 49 | /* Old device trees don't have the wp-inverted property. */ |
@@ -59,13 +60,16 @@ void sdhci_get_of_property(struct platform_device *pdev) | |||
59 | struct sdhci_host *host = platform_get_drvdata(pdev); | 60 | struct sdhci_host *host = platform_get_drvdata(pdev); |
60 | struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); | 61 | struct sdhci_pltfm_host *pltfm_host = sdhci_priv(host); |
61 | const __be32 *clk; | 62 | const __be32 *clk; |
63 | u32 bus_width; | ||
62 | int size; | 64 | int size; |
63 | 65 | ||
64 | if (of_device_is_available(np)) { | 66 | if (of_device_is_available(np)) { |
65 | if (of_get_property(np, "sdhci,auto-cmd12", NULL)) | 67 | if (of_get_property(np, "sdhci,auto-cmd12", NULL)) |
66 | host->quirks |= SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12; | 68 | host->quirks |= SDHCI_QUIRK_MULTIBLOCK_READ_ACMD12; |
67 | 69 | ||
68 | if (of_get_property(np, "sdhci,1-bit-only", NULL)) | 70 | if (of_get_property(np, "sdhci,1-bit-only", NULL) || |
71 | (of_property_read_u32(np, "bus-width", &bus_width) == 0 && | ||
72 | bus_width == 1)) | ||
69 | host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA; | 73 | host->quirks |= SDHCI_QUIRK_FORCE_1_BIT_DATA; |
70 | 74 | ||
71 | if (sdhci_of_wp_inverted(np)) | 75 | if (sdhci_of_wp_inverted(np)) |