diff options
| author | Ethan Chen <intervigil@gmail.com> | 2015-02-27 18:31:48 -0800 |
|---|---|---|
| committer | Michael Bestas <mkbestas@lineageos.org> | 2018-06-24 15:59:33 +0300 |
| commit | 7a4e63dd9ae137c578df264f52e9e6a61dcf99a5 (patch) | |
| tree | f3ce5bd1c1b4f0e98f287011631339f9bd74ff41 /drivers | |
| parent | 9a53e9cf76f3040adb9265629d2565102f05d7a3 (diff) | |
* Always perform a soft reset as this preserves memory contents,
including pstore and other persistent memory.
Change-Id: Ic9744a0bb4e3ddb2905331ca23c55bbfbb453133
Diffstat (limited to 'drivers')
| -rw-r--r-- | drivers/power/reset/Kconfig | 9 | ||||
| -rw-r--r-- | drivers/power/reset/msm-poweroff.c | 4 |
2 files changed, 13 insertions, 0 deletions
diff --git a/drivers/power/reset/Kconfig b/drivers/power/reset/Kconfig index db933765d38d..7008160eb079 100644 --- a/drivers/power/reset/Kconfig +++ b/drivers/power/reset/Kconfig @@ -94,6 +94,15 @@ config MSM_DLOAD_MODE make the kernel reboot on a kernel panic - that must be enabled via another mechanism. +config MSM_PRESERVE_MEM + bool "Always preserve memory on restart" + depends on POWER_RESET_MSM + help + If crash to download mode is disabled and restart reason is null + the system will always perform a hard reset, which wipes out + persistent memory contents. Select this option to always perform + a soft reset that preserves memory contents. + config POWER_RESET_QNAP bool "QNAP power-off driver" depends on OF_GPIO && PLAT_ORION diff --git a/drivers/power/reset/msm-poweroff.c b/drivers/power/reset/msm-poweroff.c index b10dc24730ac..7e04e78a35f5 100644 --- a/drivers/power/reset/msm-poweroff.c +++ b/drivers/power/reset/msm-poweroff.c @@ -291,6 +291,10 @@ static void msm_restart_prepare(const char *cmd) strcmp(cmd, "userrequested"))); } +#ifdef CONFIG_MSM_PRESERVE_MEM + need_warm_reset = true; +#endif + /* Hard reset the PMIC unless memory contents must be maintained. */ if (need_warm_reset) { qpnp_pon_system_pwr_off(PON_POWER_OFF_WARM_RESET); |
