END_FIXUP
};
+extern struct mmc_card *this_card;
static int mmc_blk_probe(struct mmc_card *card)
{
struct mmc_blk_data *md, *part_md;
dev_set_drvdata(&card->dev, md);
+ #if defined(CONFIG_MMC_DW_ROCKCHIP)
+ if (card->host->restrict_caps & RESTRICT_CARD_TYPE_EMMC) {
+ this_card = card;
+ md->disk->emmc_disk = 1;
+ } else {
+ md->disk->emmc_disk = 0;
+ }
+ #endif
+
if (mmc_add_disk(md))
goto out;
{
struct mmc_blk_data *md = dev_get_drvdata(&card->dev);
+ #if defined(CONFIG_MMC_DW_ROCKCHIP)
+ if (card->host->restrict_caps & RESTRICT_CARD_TYPE_EMMC)
+ this_card = NULL;
+ #endif
+
mmc_blk_remove_parts(card, md);
pm_runtime_get_sync(&card->dev);
mmc_claim_host(card->host);