Looks good to me. Reviewed-by: Subhash Jadavani <subhashj@xxxxxxxxxxxxxx> Regards, Subhash > -----Original Message----- > From: Seungwon Jeon [mailto:tgih.jun@xxxxxxxxxxx] > Sent: Wednesday, April 25, 2012 12:48 PM > To: linux-mmc@xxxxxxxxxxxxxxx > Cc: 'Chris Ball'; 'Subhash Jadavani'; 'Girish K S' > Subject: [PATCH v2 2/2] mmc: core: fix the signaling 1.8V for HS200 > > Currently only 1.2V is treated for HS200 mode. If the host has only 1.8V I/O > capability not 1.2V, mmc_set_signal_voltage can't be called for 1.8V HS200. > EXT_CSD_CARD_TYPE_SDR_1_8V needs to be considered. > > Signed-off-by: Seungwon Jeon <tgih.jun@xxxxxxxxxxx> > --- > drivers/mmc/core/mmc.c | 12 +++++++----- > 1 files changed, 7 insertions(+), 5 deletions(-) > > diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index > 0477769..2a9b7b1 100644 > --- a/drivers/mmc/core/mmc.c > +++ b/drivers/mmc/core/mmc.c > @@ -728,7 +728,7 @@ static int mmc_select_powerclass(struct mmc_card > *card, > */ > static int mmc_select_hs200(struct mmc_card *card) { > - int idx, err = 0; > + int idx, err = -EINVAL; > struct mmc_host *host; > static unsigned ext_csd_bits[] = { > EXT_CSD_BUS_WIDTH_4, > @@ -744,10 +744,12 @@ static int mmc_select_hs200(struct mmc_card > *card) > host = card->host; > > if (card->ext_csd.card_type & EXT_CSD_CARD_TYPE_SDR_1_2V && > - host->caps2 & MMC_CAP2_HS200_1_2V_SDR) > - if (mmc_set_signal_voltage(host, > MMC_SIGNAL_VOLTAGE_120, 0)) > - err = mmc_set_signal_voltage(host, > - > MMC_SIGNAL_VOLTAGE_180, 0); > + host->caps2 & MMC_CAP2_HS200_1_2V_SDR) > + err = mmc_set_signal_voltage(host, > MMC_SIGNAL_VOLTAGE_120, 0); > + > + if (err && card->ext_csd.card_type & EXT_CSD_CARD_TYPE_SDR_1_8V > && > + host->caps2 & MMC_CAP2_HS200_1_8V_SDR) > + err = mmc_set_signal_voltage(host, > MMC_SIGNAL_VOLTAGE_180, 0); > > /* If fails try again during next card power cycle */ > if (err) > -- > 1.7.0.4 > -- To unsubscribe from this list: send the line "unsubscribe linux-mmc" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html