@@ -1239,100 +1239,6 @@ static void mmc_select_driver_type(struct mmc_card *card)
mmc_set_driver_type(card->host, drv_type);
}
-static int mmc_select_hs400es(struct mmc_card *card)
-{
- struct mmc_host *host = card->host;
- int err = -EINVAL;
- u8 val;
-
- if (!(host->caps & MMC_CAP_8_BIT_DATA)) {
- err = -ENOTSUPP;
- goto out_err;
- }
-
- if (card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS400_1_2V)
- err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_120);
-
- if (err && card->mmc_avail_type & EXT_CSD_CARD_TYPE_HS400_1_8V)
- err = mmc_set_signal_voltage(host, MMC_SIGNAL_VOLTAGE_180);
-
- /* If fails try again during next card power cycle */
- if (err)
- goto out_err;
-
- err = mmc_select_bus_width(card);
- if (err != MMC_BUS_WIDTH_8) {
- pr_err("%s: switch to 8bit bus width failed, err:%d\n",
- mmc_hostname(host), err);
- err = err < 0 ? err : -ENOTSUPP;
- goto out_err;
- }
-
- /* Switch card to HS mode */
- err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_HS_TIMING, EXT_CSD_TIMING_HS,
- card->ext_csd.generic_cmd6_time, 0,
- false, true);
- if (err) {
- pr_err("%s: switch to hs for hs400es failed, err:%d\n",
- mmc_hostname(host), err);
- goto out_err;
- }
-
- mmc_set_timing(host, MMC_TIMING_MMC_HS);
- err = mmc_switch_status(card, true);
- if (err)
- goto out_err;
-
- mmc_set_clock(host, card->ext_csd.hs_max_dtr);
-
- /* Switch card to DDR with strobe bit */
- val = EXT_CSD_DDR_BUS_WIDTH_8 | EXT_CSD_BUS_WIDTH_STROBE;
- err = mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_BUS_WIDTH,
- val,
- card->ext_csd.generic_cmd6_time);
- if (err) {
- pr_err("%s: switch to bus width for hs400es failed, err:%d\n",
- mmc_hostname(host), err);
- goto out_err;
- }
-
- mmc_select_driver_type(card);
-
- /* Switch card to HS400 */
- val = EXT_CSD_TIMING_HS400 |
- card->drive_strength << EXT_CSD_DRV_STR_SHIFT;
- err = __mmc_switch(card, EXT_CSD_CMD_SET_NORMAL,
- EXT_CSD_HS_TIMING, val,
- card->ext_csd.generic_cmd6_time, 0,
- false, true);
- if (err) {
- pr_err("%s: switch to hs400es failed, err:%d\n",
- mmc_hostname(host), err);
- goto out_err;
- }
-
- /* Set host controller to HS400 timing and frequency */
- mmc_set_timing(host, MMC_TIMING_MMC_HS400);
-
- /* Controller enable enhanced strobe function */
- host->ios.enhanced_strobe = true;
- if (host->ops->hs400_enhanced_strobe)
- host->ops->hs400_enhanced_strobe(host, &host->ios);
-
- err = mmc_switch_status(card, true);
- if (err)
- goto out_err;
-
- return 0;
-
-out_err:
- pr_err("%s: %s failed, error %d\n", mmc_hostname(card->host),
- __func__, err);
- return err;
-}
-
static int mmc_select_hs400(struct mmc_card *card, bool enhancedstrobe)
{
struct mmc_host *host = card->host;
Enhanced strobe function had been merged in mmc_select_hs400(); mmc_select_hs400es() is obsolate and removed. Signed-off-by: Chris Ruehl <chris.ruehl@gtsys.com.hk> --- drivers/mmc/core/mmc.c | 94 ------------------------------------------ 1 file changed, 94 deletions(-)