Skip to content

Commit

Permalink
mmc: Correct definition of R6
Browse files Browse the repository at this point in the history
During development of SDHC support, it was discovered that the definition
for R6 was incorrect. This patch fixes that and patches the drivers that
do switch on the response type.

Signed-off-by: Philip Langdale <philipl@overt.org>
Cc: Alex Dubov <oakad@yahoo.com>
Cc: Pavel Pisa <ppisa@pikron.com>
Signed-off-by: Pierre Ossman <drzeus@drzeus.cx>
  • Loading branch information
Philip Langdale authored and Pierre Ossman committed Jan 15, 2007
1 parent 1b3b263 commit 6f94990
Show file tree
Hide file tree
Showing 5 changed files with 3 additions and 12 deletions.
3 changes: 0 additions & 3 deletions drivers/mmc/imxmmc.c
Original file line number Diff line number Diff line change
Expand Up @@ -351,9 +351,6 @@ static void imxmci_start_cmd(struct imxmci_host *host, struct mmc_command *cmd,
case MMC_RSP_R3: /* short */
cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R3;
break;
case MMC_RSP_R6: /* short CRC */
cmdat |= CMD_DAT_CONT_RESPONSE_FORMAT_R6;
break;
default:
break;
}
Expand Down
5 changes: 1 addition & 4 deletions drivers/mmc/omap.c
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd)
break;
case MMC_RSP_R1:
case MMC_RSP_R1B:
/* resp 1, resp 1b */
/* resp 1, 1b, 6, 7 */
resptype = 1;
break;
case MMC_RSP_R2:
Expand All @@ -217,9 +217,6 @@ mmc_omap_start_command(struct mmc_omap_host *host, struct mmc_command *cmd)
case MMC_RSP_R3:
resptype = 3;
break;
case MMC_RSP_R6:
resptype = 6;
break;
default:
dev_err(mmc_dev(host->mmc), "Invalid response type: %04x\n", mmc_resp_type(cmd));
break;
Expand Down
2 changes: 1 addition & 1 deletion drivers/mmc/pxamci.c
Original file line number Diff line number Diff line change
Expand Up @@ -171,7 +171,7 @@ static void pxamci_start_cmd(struct pxamci_host *host, struct mmc_command *cmd,

#define RSP_TYPE(x) ((x) & ~(MMC_RSP_BUSY|MMC_RSP_OPCODE))
switch (RSP_TYPE(mmc_resp_type(cmd))) {
case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6 */
case RSP_TYPE(MMC_RSP_R1): /* r1, r1b, r6, r7 */
cmdat |= CMDAT_RESP_SHORT;
break;
case RSP_TYPE(MMC_RSP_R3):
Expand Down
3 changes: 0 additions & 3 deletions drivers/mmc/tifm_sd.c
Original file line number Diff line number Diff line change
Expand Up @@ -173,9 +173,6 @@ static unsigned int tifm_sd_op_flags(struct mmc_command *cmd)
case MMC_RSP_R3:
rc |= TIFM_MMCSD_RSP_R3;
break;
case MMC_RSP_R6:
rc |= TIFM_MMCSD_RSP_R6;
break;
default:
BUG();
}
Expand Down
2 changes: 1 addition & 1 deletion include/linux/mmc/mmc.h
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ struct mmc_command {
#define MMC_RSP_R1B (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE|MMC_RSP_BUSY)
#define MMC_RSP_R2 (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC)
#define MMC_RSP_R3 (MMC_RSP_PRESENT)
#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC)
#define MMC_RSP_R6 (MMC_RSP_PRESENT|MMC_RSP_CRC|MMC_RSP_OPCODE)

#define mmc_resp_type(cmd) ((cmd)->flags & (MMC_RSP_PRESENT|MMC_RSP_136|MMC_RSP_CRC|MMC_RSP_BUSY|MMC_RSP_OPCODE))

Expand Down

0 comments on commit 6f94990

Please sign in to comment.