diff options
-rw-r--r-- | drivers/mmc/host/omap_hsmmc.c | 17 |
1 files changed, 15 insertions, 2 deletions
diff --git a/drivers/mmc/host/omap_hsmmc.c b/drivers/mmc/host/omap_hsmmc.c index b032828c6126..a0c8515cb3b9 100644 --- a/drivers/mmc/host/omap_hsmmc.c +++ b/drivers/mmc/host/omap_hsmmc.c | |||
@@ -2096,10 +2096,23 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) | |||
2096 | mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | | 2096 | mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | |
2097 | MMC_CAP_WAIT_WHILE_BUSY; | 2097 | MMC_CAP_WAIT_WHILE_BUSY; |
2098 | 2098 | ||
2099 | if (mmc_slot(host).wires >= 8) | 2099 | switch (mmc_slot(host).wires) { |
2100 | case 8: | ||
2100 | mmc->caps |= MMC_CAP_8_BIT_DATA; | 2101 | mmc->caps |= MMC_CAP_8_BIT_DATA; |
2101 | else if (mmc_slot(host).wires >= 4) | 2102 | /* Fall through */ |
2103 | case 4: | ||
2102 | mmc->caps |= MMC_CAP_4_BIT_DATA; | 2104 | mmc->caps |= MMC_CAP_4_BIT_DATA; |
2105 | break; | ||
2106 | case 1: | ||
2107 | /* Nothing to crib here */ | ||
2108 | case 0: | ||
2109 | /* Assuming nothing was given by board, Core use's 1-Bit */ | ||
2110 | break; | ||
2111 | default: | ||
2112 | /* Completely unexpected.. Core goes with 1-Bit Width */ | ||
2113 | dev_crit(mmc_dev(host->mmc), "Invalid width %d\n used!" | ||
2114 | "using 1 instead\n", mmc_slot(host).wires); | ||
2115 | } | ||
2103 | 2116 | ||
2104 | if (mmc_slot(host).nonremovable) | 2117 | if (mmc_slot(host).nonremovable) |
2105 | mmc->caps |= MMC_CAP_NONREMOVABLE; | 2118 | mmc->caps |= MMC_CAP_NONREMOVABLE; |