|
@@ -190,7 +190,7 @@ static int mmc_get_ext_csd(struct mmc_card *card, u8 **new_ext_csd)
|
|
|
|
|
|
*new_ext_csd = NULL;
|
|
|
|
|
|
- if (card->csd.mmca_vsn < CSD_SPEC_VER_4)
|
|
|
+ if (!mmc_can_ext_csd(card))
|
|
|
return 0;
|
|
|
|
|
|
/*
|
|
@@ -852,7 +852,7 @@ static int mmc_select_powerclass(struct mmc_card *card)
|
|
|
int err, ddr;
|
|
|
|
|
|
/* Power class selection is supported for versions >= 4.0 */
|
|
|
- if (card->csd.mmca_vsn < CSD_SPEC_VER_4)
|
|
|
+ if (!mmc_can_ext_csd(card))
|
|
|
return 0;
|
|
|
|
|
|
bus_width = host->ios.bus_width;
|
|
@@ -913,7 +913,7 @@ static int mmc_select_bus_width(struct mmc_card *card)
|
|
|
unsigned idx, bus_width = 0;
|
|
|
int err = 0;
|
|
|
|
|
|
- if ((card->csd.mmca_vsn < CSD_SPEC_VER_4) &&
|
|
|
+ if (!mmc_can_ext_csd(card) &&
|
|
|
!(host->caps & (MMC_CAP_4_BIT_DATA | MMC_CAP_8_BIT_DATA)))
|
|
|
return 0;
|
|
|
|
|
@@ -1154,7 +1154,7 @@ static int mmc_select_timing(struct mmc_card *card)
|
|
|
{
|
|
|
int err = 0;
|
|
|
|
|
|
- if (card->csd.mmca_vsn < CSD_SPEC_VER_4)
|
|
|
+ if (!mmc_can_ext_csd(card))
|
|
|
goto bus_speed;
|
|
|
|
|
|
if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS200)
|