#include <linux/mmc/core.h>
#include <linux/mmc/card.h>
+#include <linux/mmc/host.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/sdio_ids.h>
2.6.27. The implementation prior to that is buggy, and needs broadcom's
patch for it
*/
- if ((ret = sdio_reset_comm(gInstance->func[0]->card))) {
+ ret = mmc_power_restore_host((gInstance->func[0])->card->host);
+
+ if (ret) {
sd_err(("%s Failed, error = %d\n", __FUNCTION__, ret));
return ret;
}
#endif
bcmsdh_oob_intr_set(FALSE);
#endif /* !defined(OOB_INTR_ONLY) */
+ if (mmc_power_save_host((gInstance->func[0])->card->host))
+ sd_err(("%s card power save fail\n", __func__));
}
else
sd_err(("%s Failed\n", __FUNCTION__));
#include <linux/mmc/core.h>
#include <linux/mmc/card.h>
+#include <linux/mmc/host.h>
#include <linux/mmc/sdio_func.h>
#include <linux/mmc/sdio_ids.h>
#endif
sd_trace(("F2 found, calling bcmsdh_probe...\n"));
ret = bcmsdh_probe(&func->dev);
+ if (mmc_power_save_host(func->card->host))
+ sd_err(("%s: card power save fail", __func__));
}
} else {
ret = -ENODEV;