diff options
Diffstat (limited to 'drivers/mmc/core/mmc.c')
-rw-r--r-- | drivers/mmc/core/mmc.c | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/drivers/mmc/core/mmc.c b/drivers/mmc/core/mmc.c index ae6b8fd3880..396cb23625d 100644 --- a/drivers/mmc/core/mmc.c +++ b/drivers/mmc/core/mmc.c | |||
@@ -548,7 +548,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, | |||
548 | */ | 548 | */ |
549 | if (card->ext_csd.enhanced_area_en) { | 549 | if (card->ext_csd.enhanced_area_en) { |
550 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, | 550 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, |
551 | EXT_CSD_ERASE_GROUP_DEF, 1); | 551 | EXT_CSD_ERASE_GROUP_DEF, 1, 0); |
552 | 552 | ||
553 | if (err && err != -EBADMSG) | 553 | if (err && err != -EBADMSG) |
554 | goto free_card; | 554 | goto free_card; |
@@ -579,7 +579,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, | |||
579 | if (card->ext_csd.bootconfig & 0x7) { | 579 | if (card->ext_csd.bootconfig & 0x7) { |
580 | card->ext_csd.bootconfig &= ~0x7; | 580 | card->ext_csd.bootconfig &= ~0x7; |
581 | mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_CONFIG, | 581 | mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, EXT_CSD_BOOT_CONFIG, |
582 | card->ext_csd.bootconfig); | 582 | card->ext_csd.bootconfig, 0); |
583 | } | 583 | } |
584 | 584 | ||
585 | /* | 585 | /* |
@@ -588,7 +588,7 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, | |||
588 | if ((card->ext_csd.hs_max_dtr != 0) && | 588 | if ((card->ext_csd.hs_max_dtr != 0) && |
589 | (host->caps & MMC_CAP_MMC_HIGHSPEED)) { | 589 | (host->caps & MMC_CAP_MMC_HIGHSPEED)) { |
590 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, | 590 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, |
591 | EXT_CSD_HS_TIMING, 1); | 591 | EXT_CSD_HS_TIMING, 1, 0); |
592 | if (err && err != -EBADMSG) | 592 | if (err && err != -EBADMSG) |
593 | goto free_card; | 593 | goto free_card; |
594 | 594 | ||
@@ -655,7 +655,8 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, | |||
655 | ddr = 0; /* no DDR for 1-bit width */ | 655 | ddr = 0; /* no DDR for 1-bit width */ |
656 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, | 656 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, |
657 | EXT_CSD_BUS_WIDTH, | 657 | EXT_CSD_BUS_WIDTH, |
658 | ext_csd_bits[idx][0]); | 658 | ext_csd_bits[idx][0], |
659 | 0); | ||
659 | if (!err) { | 660 | if (!err) { |
660 | mmc_set_bus_width_ddr(card->host, | 661 | mmc_set_bus_width_ddr(card->host, |
661 | bus_width, MMC_SDR_MODE); | 662 | bus_width, MMC_SDR_MODE); |
@@ -674,8 +675,9 @@ static int mmc_init_card(struct mmc_host *host, u32 ocr, | |||
674 | 675 | ||
675 | if (!err && ddr) { | 676 | if (!err && ddr) { |
676 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, | 677 | err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL, |
677 | EXT_CSD_BUS_WIDTH, | 678 | EXT_CSD_BUS_WIDTH, |
678 | ext_csd_bits[idx][1]); | 679 | ext_csd_bits[idx][1], |
680 | 0); | ||
679 | } | 681 | } |
680 | if (err) { | 682 | if (err) { |
681 | printk(KERN_WARNING "%s: switch to bus width %d ddr %d " | 683 | printk(KERN_WARNING "%s: switch to bus width %d ddr %d " |