aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
authorPierre Ossman <drzeus-list@drzeus.cx>2005-09-06 18:18:52 -0400
committerLinus Torvalds <torvalds@g5.osdl.org>2005-09-07 19:57:50 -0400
commita00fc09029f02ca833cf90e5d5625f08c4ac4f51 (patch)
tree02774c6f35623a27fbefbe1fe7f26f4a0f5fdd32 /include/linux/mmc
parent335eadf2ef6a1122a720aea98e758e5d431da87d (diff)
[PATCH] sd: read-only switch
Support for the read-only switch on SD cards which must be enforced by the host. Signed-off-by: Pierre Ossman <drzeus@drzeus.cx> Cc: Russell King <rmk@arm.linux.org.uk> Cc: David Brownell <david-b@pacbell.net> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h3
-rw-r--r--include/linux/mmc/host.h1
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 538e8c86336..0e9ec01b9c5 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -48,6 +48,7 @@ struct mmc_card {
48#define MMC_STATE_DEAD (1<<1) /* device no longer in stack */ 48#define MMC_STATE_DEAD (1<<1) /* device no longer in stack */
49#define MMC_STATE_BAD (1<<2) /* unrecognised device */ 49#define MMC_STATE_BAD (1<<2) /* unrecognised device */
50#define MMC_STATE_SDCARD (1<<3) /* is an SD card */ 50#define MMC_STATE_SDCARD (1<<3) /* is an SD card */
51#define MMC_STATE_READONLY (1<<4) /* card is read-only */
51 u32 raw_cid[4]; /* raw card CID */ 52 u32 raw_cid[4]; /* raw card CID */
52 u32 raw_csd[4]; /* raw card CSD */ 53 u32 raw_csd[4]; /* raw card CSD */
53 struct mmc_cid cid; /* card identification */ 54 struct mmc_cid cid; /* card identification */
@@ -58,11 +59,13 @@ struct mmc_card {
58#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD) 59#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD)
59#define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD) 60#define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD)
60#define mmc_card_sd(c) ((c)->state & MMC_STATE_SDCARD) 61#define mmc_card_sd(c) ((c)->state & MMC_STATE_SDCARD)
62#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
61 63
62#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) 64#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
63#define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD) 65#define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD)
64#define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD) 66#define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD)
65#define mmc_card_set_sd(c) ((c)->state |= MMC_STATE_SDCARD) 67#define mmc_card_set_sd(c) ((c)->state |= MMC_STATE_SDCARD)
68#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
66 69
67#define mmc_card_name(c) ((c)->cid.prod_name) 70#define mmc_card_name(c) ((c)->cid.prod_name)
68#define mmc_card_id(c) ((c)->dev.bus_id) 71#define mmc_card_id(c) ((c)->dev.bus_id)
diff --git a/include/linux/mmc/host.h b/include/linux/mmc/host.h
index 845020d90c6..8c5f71376e4 100644
--- a/include/linux/mmc/host.h
+++ b/include/linux/mmc/host.h
@@ -62,6 +62,7 @@ struct mmc_ios {
62struct mmc_host_ops { 62struct mmc_host_ops {
63 void (*request)(struct mmc_host *host, struct mmc_request *req); 63 void (*request)(struct mmc_host *host, struct mmc_request *req);
64 void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios); 64 void (*set_ios)(struct mmc_host *host, struct mmc_ios *ios);
65 int (*get_ro)(struct mmc_host *host);
65}; 66};
66 67
67struct mmc_card; 68struct mmc_card;