diff options
-rw-r--r-- | drivers/mmc/core/mmc.c | 3 | ||||
-rw-r--r-- | include/linux/mmc/card.h | 2 |
2 files changed, 4 insertions, 1 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index c49b21decbf1..a5f27fff8962 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -86,7 +86,8 @@ static int mmc_decode_cid(struct mmc_card *card) case 3: /* MMC v3.1 - v3.3 */ case 4: /* MMC v4 */ card->cid.manfid = UNSTUFF_BITS(resp, 120, 8); - card->cid.oemid = UNSTUFF_BITS(resp, 104, 16); + card->cid.cbx = UNSTUFF_BITS(resp, 112, 2); + card->cid.oemid = UNSTUFF_BITS(resp, 104, 8); card->cid.prod_name[0] = UNSTUFF_BITS(resp, 96, 8); card->cid.prod_name[1] = UNSTUFF_BITS(resp, 88, 8); card->cid.prod_name[2] = UNSTUFF_BITS(resp, 80, 8); diff --git a/include/linux/mmc/card.h b/include/linux/mmc/card.h index 403aa505f27e..10d414060c6c 100644 --- a/include/linux/mmc/card.h +++ b/include/linux/mmc/card.h @@ -16,6 +16,7 @@ struct mmc_cid { unsigned int manfid; char prod_name[8]; unsigned int serial; + unsigned char cbx:2; unsigned short oemid; unsigned short year; unsigned char hwrev; @@ -118,6 +119,7 @@ struct mmc_card { #define mmc_card_mmc(c) ((c)->type == MMC_TYPE_MMC) #define mmc_card_sd(c) ((c)->type == MMC_TYPE_SD) #define mmc_card_sdio(c) ((c)->type == MMC_TYPE_SDIO) +#define mmc_card_has_boot(c) ((c)->cid.cbx != 0) #define mmc_card_present(c) ((c)->state & MMC_STATE_PRESENT) #define mmc_card_readonly(c) ((c)->state & MMC_STATE_READONLY) |