aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorCarlos Eduardo Aguiar <carlos.aguiar@indt.org.br>2007-01-15 00:38:15 -0500
committerPierre Ossman <drzeus@drzeus.cx>2007-01-15 00:39:00 -0500
commit1b3b2631842ab60c1b7923bef102c610439ba3dd (patch)
treeadb9b8f59430af3d3fd98ffa9218c5d70aed2ba4
parent0404f87f2e0a0aadbda47be0f54812671207492f (diff)
omap: Update MMC response types
This patch is a fix in order to update MMC response types. This modification is needed to allow SD card support on OMAP platforms. Signed-off-by: Carlos Eduardo Aguiar <carlos.aguiar@indt.org.br> Signed-off-by: Yuha Yrjola <juha.yrjola@solidboot.com> Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
-rw-r--r--drivers/mmc/omap.c16
1 files changed, 11 insertions, 5 deletions
diff --git a/drivers/mmc/omap.c b/drivers/mmc/omap.c
index 9488408308fb..1e5407d44dfd 100644
--- a/drivers/mmc/omap.c
+++ b/drivers/mmc/omap.c
@@ -91,7 +91,6 @@
91 91
92 92
93#define DRIVER_NAME "mmci-omap" 93#define DRIVER_NAME "mmci-omap"
94#define RSP_TYPE(x) ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))
95 94
96/* Specifies how often in millisecs to poll for card status changes 95/* Specifies how often in millisecs to poll for card status changes
97 * when the cover switch is open */ 96 * when the cover switch is open */
@@ -204,18 +203,25 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd)
204 cmdtype = 0; 203 cmdtype = 0;
205 204
206 /* Our hardware needs to know exact type */ 205 /* Our hardware needs to know exact type */
207 switch (RSP_TYPE(mmc_resp_type(cmd))) { 206 switch (mmc_resp_type(cmd)) {
208 case RSP_TYPE(MMC_RSP_R1): 207 case MMC_RSP_NONE:
208 break;
209 case MMC_RSP_R1:
210 case MMC_RSP_R1B:
209 /* resp 1, resp 1b */ 211 /* resp 1, resp 1b */
210 resptype = 1; 212 resptype = 1;
211 break; 213 break;
212 case RSP_TYPE(MMC_RSP_R2): 214 case MMC_RSP_R2:
213 resptype = 2; 215 resptype = 2;
214 break; 216 break;
215 case RSP_TYPE(MMC_RSP_R3): 217 case MMC_RSP_R3:
216 resptype = 3; 218 resptype = 3;
217 break; 219 break;
220 case MMC_RSP_R6:
221 resptype = 6;
222 break;
218 default: 223 default:
224 dev_err(mmc_dev(host->mmc), "Invalid response type: %04x\n", mmc_resp_type(cmd));
219 break; 225 break;
220 } 226 }
221 227