summaryrefslogtreecommitdiff
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorRussell King <rmk@dyn-67.arm.linux.org.uk>2006-01-03 22:38:44 +0000
committerRussell King <rmk+kernel@arm.linux.org.uk>2006-01-03 22:38:44 +0000
commita6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc (patch)
tree5f3bd4dc24866f2b0e593b1457b1f22ec641139b /include/linux/mmc
parent88026842b0a760145aa71d69e74fbc9ec118ca44 (diff)
downloadlwn-a6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc.tar.gz
lwn-a6f6c96b65d7f65a7a7bf5cbe874eda182a6b2cc.zip
[MMC] Improve MMC card block size selection
Select a block size for IO based on the read and write block size combinations, and whether the card supports partial block reads and/or partial block writes. If we are able to satisfy block reads but not block writes, mark the device read only. Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 18fc77f682de..7f7d40684288 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -30,7 +30,12 @@ struct mmc_csd {
unsigned int tacc_ns;
unsigned int max_dtr;
unsigned int read_blkbits;
+ unsigned int write_blkbits;
unsigned int capacity;
+ unsigned int read_partial:1,
+ read_misalign:1,
+ write_partial:1
+ write_misalign:1;
};
struct sd_scr {