diff options
author | Pierre Ossman <drzeus-list@drzeus.cx> | 2005-09-06 18:18:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-09-07 19:57:50 -0400 |
commit | a00fc09029f02ca833cf90e5d5625f08c4ac4f51 (patch) | |
tree | 02774c6f35623a27fbefbe1fe7f26f4a0f5fdd32 /include/linux | |
parent | 335eadf2ef6a1122a720aea98e758e5d431da87d (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')
-rw-r--r-- | include/linux/mmc/card.h | 3 | ||||
-rw-r--r-- | include/linux/mmc/host.h | 1 |
2 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 538e8c86336c..0e9ec01b9c5b 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 845020d90c60..8c5f71376e41 100644 --- a/include/linux/mmc/host.h +++ b/include/linux/mmc/host.h | |||
@@ -62,6 +62,7 @@ struct mmc_ios { | |||
62 | struct mmc_host_ops { | 62 | struct 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 | ||
67 | struct mmc_card; | 68 | struct mmc_card; |