diff options
Diffstat (limited to 'drivers/mmc/core/mmc.c')
| -rw-r--r-- | drivers/mmc/core/mmc.c | 30 | 
1 files changed, 17 insertions, 13 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index 02914d609a9..54df5adc041 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c @@ -695,6 +695,11 @@ static int mmc_select_powerclass(struct mmc_card *card,  		else if (host->ios.clock <= 200000000)  			index = EXT_CSD_PWR_CL_200_195;  		break; +	case MMC_VDD_27_28: +	case MMC_VDD_28_29: +	case MMC_VDD_29_30: +	case MMC_VDD_30_31: +	case MMC_VDD_31_32:  	case MMC_VDD_32_33:  	case MMC_VDD_33_34:  	case MMC_VDD_34_35: @@ -1111,11 +1116,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  		ext_csd_bits = (bus_width == MMC_BUS_WIDTH_8) ?  				EXT_CSD_BUS_WIDTH_8 : EXT_CSD_BUS_WIDTH_4;  		err = mmc_select_powerclass(card, ext_csd_bits, ext_csd); -		if (err) { -			pr_err("%s: power class selection to bus width %d failed\n", -				mmc_hostname(card->host), 1 << bus_width); -			goto err; -		} +		if (err) +			pr_warning("%s: power class selection to bus width %d" +				   " failed\n", mmc_hostname(card->host), +				   1 << bus_width);  	}  	/* @@ -1147,10 +1151,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  			err = mmc_select_powerclass(card, ext_csd_bits[idx][0],  						    ext_csd);  			if (err) -				pr_err("%s: power class selection to " -				       "bus width %d failed\n", -				       mmc_hostname(card->host), -				       1 << bus_width); +				pr_warning("%s: power class selection to " +					   "bus width %d failed\n", +					   mmc_hostname(card->host), +					   1 << bus_width);  			err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,  					 EXT_CSD_BUS_WIDTH, @@ -1178,10 +1182,10 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr,  			err = mmc_select_powerclass(card, ext_csd_bits[idx][1],  						    ext_csd);  			if (err) -				pr_err("%s: power class selection to " -				       "bus width %d ddr %d failed\n", -				       mmc_hostname(card->host), -				       1 << bus_width, ddr); +				pr_warning("%s: power class selection to " +					   "bus width %d ddr %d failed\n", +					   mmc_hostname(card->host), +					   1 << bus_width, ddr);  			err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,  					 EXT_CSD_BUS_WIDTH,  |