From 71bca38e67a9ee9df3b617023e741ab77de3adf8 Mon Sep 17 00:00:00 2001 From: Kishore Kadiyala Date: Tue, 10 Aug 2010 18:01:46 -0700 Subject: [PATCH] --- yaml --- r: 208431 b: refs/heads/master c: 27151dc9e363c0033d7375863c0d284f8c4b636a h: refs/heads/master i: 208429: 0db66e3569e42f87a4cc72922457b7daeb2b608e 208427: a6103c06d4907703bf33730e75aa11e855066493 208423: b98ba710bf063e1d7ce0662d3375d79fe94d9284 208415: dffa01d5e724bf96909f9600eb85fdcf0cef27b8 v: v3 --- [refs] | 2 +- trunk/drivers/mmc/host/omap_hsmmc.c | 17 +++++++++++++++-- 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index c74bb6f41f51..34fcd6e322f3 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: fc8a0985c2846292312556cba10b8a4182f55967 +refs/heads/master: 27151dc9e363c0033d7375863c0d284f8c4b636a diff --git a/trunk/drivers/mmc/host/omap_hsmmc.c b/trunk/drivers/mmc/host/omap_hsmmc.c index b032828c6126..a0c8515cb3b9 100644 --- a/trunk/drivers/mmc/host/omap_hsmmc.c +++ b/trunk/drivers/mmc/host/omap_hsmmc.c @@ -2096,10 +2096,23 @@ static int __init omap_hsmmc_probe(struct platform_device *pdev) mmc->caps |= MMC_CAP_MMC_HIGHSPEED | MMC_CAP_SD_HIGHSPEED | MMC_CAP_WAIT_WHILE_BUSY; - if (mmc_slot(host).wires >= 8) + switch (mmc_slot(host).wires) { + case 8: mmc->caps |= MMC_CAP_8_BIT_DATA; - else if (mmc_slot(host).wires >= 4) + /* Fall through */ + case 4: mmc->caps |= MMC_CAP_4_BIT_DATA; + break; + case 1: + /* Nothing to crib here */ + case 0: + /* Assuming nothing was given by board, Core use's 1-Bit */ + break; + default: + /* Completely unexpected.. Core goes with 1-Bit Width */ + dev_crit(mmc_dev(host->mmc), "Invalid width %d\n used!" + "using 1 instead\n", mmc_slot(host).wires); + } if (mmc_slot(host).nonremovable) mmc->caps |= MMC_CAP_NONREMOVABLE;