summaryrefslogtreecommitdiffstats
path: root/drivers/mci/mci-core.c
diff options
context:
space:
mode:
authorChristoph Fritz <chf.fritz@googlemail.com>2017-04-30 15:45:58 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2017-05-03 13:53:54 +0200
commitcd5bb64d92b7c3a28c246f3017f2b5119cc31b05 (patch)
tree0d89adcabf9b5166a7a05a26df160864fdb39be5 /drivers/mci/mci-core.c
parent6a2bb6290a71a0ac5037e4df7df189128cd034e5 (diff)
downloadbarebox-cd5bb64d92b7c3a28c246f3017f2b5119cc31b05.tar.gz
barebox-cd5bb64d92b7c3a28c246f3017f2b5119cc31b05.tar.xz
mci: be more verbose about wrong bus-width
If configured or default bus-width is wrong for the current hardware, registration of card/emmc is likely to fail. This patch adds more verbosity in the case of a failed detection: | omap-hsmmc 48060000.mmc: registered as 48060000.mmc | mmc0: detected MMC card version 4.41 | mmc0: Changing MMC bus width failed: -110 | mmc0: Card's startup fails with -110 Signed-off-by: Christoph Fritz <chf.fritz@googlemail.com> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'drivers/mci/mci-core.c')
-rw-r--r--drivers/mci/mci-core.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/mci/mci-core.c b/drivers/mci/mci-core.c
index b173a173b1..3da1c261a9 100644
--- a/drivers/mci/mci-core.c
+++ b/drivers/mci/mci-core.c
@@ -984,7 +984,7 @@ static int mci_startup_sd(struct mci *mci)
mci_setup_cmd(&cmd, SD_CMD_APP_SET_BUS_WIDTH, 2, MMC_RSP_R1);
err = mci_send_cmd(mci, &cmd, NULL);
if (err) {
- dev_dbg(&mci->dev, "Changing SD bus width failed: %d\n", err);
+ dev_warn(&mci->dev, "Changing SD bus width failed: %d\n", err);
/* TODO continue with 1 bit? */
return err;
}
@@ -1041,8 +1041,11 @@ static int mci_startup_mmc(struct mci *mci)
err = mci_switch(mci, EXT_CSD_CMD_SET_NORMAL,
EXT_CSD_BUS_WIDTH,
ext_csd_bits[idx]);
- if (err)
+ if (err) {
+ if (idx == 0)
+ dev_warn(&mci->dev, "Changing MMC bus width failed: %d\n", err);
continue;
+ }
mci_set_bus_width(mci, bus_widths[idx]);
@@ -1051,7 +1054,7 @@ static int mci_startup_mmc(struct mci *mci)
break;
}
- return 0;
+ return err;
}
/**
@@ -1693,7 +1696,7 @@ static int mci_card_probe(struct mci *mci)
rc = mci_startup(mci);
if (rc) {
- dev_dbg(&mci->dev, "Card's startup fails with %d\n", rc);
+ dev_warn(&mci->dev, "Card's startup fails with %d\n", rc);
goto on_error;
}