summaryrefslogtreecommitdiffstats
path: root/drivers/mmc
diff options
context:
space:
mode:
authorPierre Ossman <drzeus-list@cx.rmk.(none)>2005-05-21 11:27:02 +0200
committerRussell King <rmk+kernel@arm.linux.org.uk>2005-05-21 11:27:02 +0200
commit912490db699d83cb3d03570b63df7448677a3f56 (patch)
treee2e45ad64584dfa9dbff212a2ba3e884b2bbca43 /drivers/mmc
parentAutomatic merge of rsync://www.parisc-linux.org/~jejb/git/scsi-for-linus-2.6.git (diff)
downloadlinux-912490db699d83cb3d03570b63df7448677a3f56.tar.xz
linux-912490db699d83cb3d03570b63df7448677a3f56.zip
[PATCH] MMC: Proper MMC command classes support
Defines for the different command classes as defined in the MMC and SD specifications. Removes the check for high command classes and instead checks that the command classes needed are present. Previous solution killed forward compatibility at no apparent gain. Signed-of-by: Pierre Ossman
Diffstat (limited to 'drivers/mmc')
-rw-r--r--drivers/mmc/mmc_block.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c
index b5b4a7b11903..d4eee99c2bf6 100644
--- a/drivers/mmc/mmc_block.c
+++ b/drivers/mmc/mmc_block.c
@@ -383,7 +383,10 @@ static int mmc_blk_probe(struct mmc_card *card)
struct mmc_blk_data *md;
int err;
- if (card->csd.cmdclass & ~0x1ff)
+ /*
+ * Check that the card supports the command class(es) we need.
+ */
+ if (!(card->csd.cmdclass & CCC_BLOCK_READ))
return -ENODEV;
if (card->csd.read_blkbits < 9) {