Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1c6e58d8 authored by Javier Martinez Canillas's avatar Javier Martinez Canillas Committed by Ulf Hansson
Browse files

mmc: pwrseq: Use highest priority for eMMC restart handler



The pwrseq_emmc driver does a eMMC card reset before a system reboot to
allow broken or limited ROM boot-loaders (that don't have an eMMC reset
logic) to be able to read the second stage from the eMMC.

But this has to be called before a system reboot handler and while most
of them use the priority 128, there are other restart handlers (such as
the syscon-reboot one) that use a higher priority. So, use the highest
priority to make sure that the eMMC hw is reset before a system reboot.

Signed-off-by: default avatarJavier Martinez Canillas <javier@osg.samsung.com>
Tested-by: default avatarMarkus Reichl <m.reichl@fivetechno.de>
Tested-by: default avatarAnand Moon <linux.amoon@gmail.com>
Reviewed-by: default avatarAlim Akhtar <alim.akhtar@samsung.com>
Tested-by: default avatarDouglas Anderson <dianders@chromium.org>
Signed-off-by: default avatarUlf Hansson <ulf.hansson@linaro.org>
parent 6397b7f5
Loading
Loading
Loading
Loading
+3 −3
Original line number Original line Diff line number Diff line
@@ -84,11 +84,11 @@ struct mmc_pwrseq *mmc_pwrseq_emmc_alloc(struct mmc_host *host,


	/*
	/*
	 * register reset handler to ensure emmc reset also from
	 * register reset handler to ensure emmc reset also from
	 * emergency_reboot(), priority 129 schedules it just before
	 * emergency_reboot(), priority 255 is the highest priority
	 * system reboot
	 * so it will be executed before any system reboot handler.
	 */
	 */
	pwrseq->reset_nb.notifier_call = mmc_pwrseq_emmc_reset_nb;
	pwrseq->reset_nb.notifier_call = mmc_pwrseq_emmc_reset_nb;
	pwrseq->reset_nb.priority = 129;
	pwrseq->reset_nb.priority = 255;
	register_restart_handler(&pwrseq->reset_nb);
	register_restart_handler(&pwrseq->reset_nb);


	pwrseq->pwrseq.ops = &mmc_pwrseq_emmc_ops;
	pwrseq->pwrseq.ops = &mmc_pwrseq_emmc_ops;