aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/mmc
diff options
context:
space:
mode:
Diffstat (limited to 'include/linux/mmc')
-rw-r--r--include/linux/mmc/card.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h
index 5d9896c260a2..1ca50542ce19 100644
--- a/include/linux/mmc/card.h
+++ b/include/linux/mmc/card.h
@@ -65,14 +65,16 @@ struct mmc_card {
65 struct mmc_host *host; /* the host this device belongs to */ 65 struct mmc_host *host; /* the host this device belongs to */
66 struct device dev; /* the device */ 66 struct device dev; /* the device */
67 unsigned int rca; /* relative card address of device */ 67 unsigned int rca; /* relative card address of device */
68 unsigned int type; /* card type */
69#define MMC_TYPE_MMC 0 /* MMC card */
70#define MMC_TYPE_SD 1 /* SD card */
68 unsigned int state; /* (our) card state */ 71 unsigned int state; /* (our) card state */
69#define MMC_STATE_PRESENT (1<<0) /* present in sysfs */ 72#define MMC_STATE_PRESENT (1<<0) /* present in sysfs */
70#define MMC_STATE_DEAD (1<<1) /* device no longer in stack */ 73#define MMC_STATE_DEAD (1<<1) /* device no longer in stack */
71#define MMC_STATE_BAD (1<<2) /* unrecognised device */ 74#define MMC_STATE_BAD (1<<2) /* unrecognised device */
72#define MMC_STATE_SDCARD (1<<3) /* is an SD card */ 75#define MMC_STATE_READONLY (1<<3) /* card is read-only */
73#define MMC_STATE_READONLY (1<<4) /* card is read-only */ 76#define MMC_STATE_HIGHSPEED (1<<4) /* card is in high speed mode */
74#define MMC_STATE_HIGHSPEED (1<<5) /* card is in high speed mode */ 77#define MMC_STATE_BLOCKADDR (1<<5) /* card uses block-addressing */
75#define MMC_STATE_BLOCKADDR (1<<6) /* card uses block-addressing */
76 u32 raw_cid[4]; /* raw card CID */ 78 u32 raw_cid[4]; /* raw card CID */
77 u32 raw_csd[4]; /* raw card CSD */ 79 u32 raw_csd[4]; /* raw card CSD */
78 u32 raw_scr[2]; /* raw card SCR */ 80 u32 raw_scr[2]; /* raw card SCR */
@@ -83,10 +85,12 @@ struct mmc_card {
83 struct sd_switch_caps sw_caps; /* switch (CMD6) caps */ 85 struct sd_switch_caps sw_caps; /* switch (CMD6) caps */
84}; 86};
85 87
88#define mmc_card_mmc(c) ((c)->type == MMC_TYPE_MMC)
89#define mmc_card_sd(c) ((c)->type == MMC_TYPE_SD)
90
86#define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) 91#define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT)
87#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD) 92#define mmc_card_dead(c) ((c)->state & MMC_STATE_DEAD)
88#define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD) 93#define mmc_card_bad(c) ((c)->state & MMC_STATE_BAD)
89#define mmc_card_sd(c) ((c)->state & MMC_STATE_SDCARD)
90#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) 94#define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY)
91#define mmc_card_highspeed(c) ((c)->state & MMC_STATE_HIGHSPEED) 95#define mmc_card_highspeed(c) ((c)->state & MMC_STATE_HIGHSPEED)
92#define mmc_card_blockaddr(c) ((c)->state & MMC_STATE_BLOCKADDR) 96#define mmc_card_blockaddr(c) ((c)->state & MMC_STATE_BLOCKADDR)
@@ -94,7 +98,6 @@ struct mmc_card {
94#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT) 98#define mmc_card_set_present(c) ((c)->state |= MMC_STATE_PRESENT)
95#define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD) 99#define mmc_card_set_dead(c) ((c)->state |= MMC_STATE_DEAD)
96#define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD) 100#define mmc_card_set_bad(c) ((c)->state |= MMC_STATE_BAD)
97#define mmc_card_set_sd(c) ((c)->state |= MMC_STATE_SDCARD)
98#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY) 101#define mmc_card_set_readonly(c) ((c)->state |= MMC_STATE_READONLY)
99#define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED) 102#define mmc_card_set_highspeed(c) ((c)->state |= MMC_STATE_HIGHSPEED)
100#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR) 103#define mmc_card_set_blockaddr(c) ((c)->state |= MMC_STATE_BLOCKADDR)