[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>
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 18fc77f..7f7d406 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -30,7 +30,12 @@
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 {