/* Hosts that support power saving can use the 'enable' and 'disable' methods to exit and enter power saving states. For more information see comments for struct mmc_host_ops.  */
int mmc_host_lazy_disable(struct mmc_host *host)
/* Hosts that support power saving can use the 'enable' and 'disable' methods to exit and enter power saving states. For more information see comments for struct mmc_host_ops.  */
int mmc_host_lazy_disable(struct mmc_host *host)
{
	if (!(host->caps & MMC_CAP_DISABLE))
		return 0;
	if (host->en_dis_recurs)
		return 0;
	if (--host->nesting_cnt)
		return 0;
	if (!host->enabled)
		return 0;
	if (host->disable_delay) {
		mmc_schedule_delayed_work(&host->disable,
				msecs_to_jiffies(host->disable_delay));
		return 0;
	} else
		return mmc_host_do_disable(host, 1);
}