diff --git a/drivers/amlogic/reboot/reboot.c b/drivers/amlogic/reboot/reboot.c index 4a1cc9bee42c..6e5cd09ad035 100644 --- a/drivers/amlogic/reboot/reboot.c +++ b/drivers/amlogic/reboot/reboot.c @@ -61,6 +61,14 @@ static u32 parse_reason(const char *cmd) reboot_reason = MESON_CRASH_REBOOT; else if (strcmp(cmd, "uboot_suspend") == 0) reboot_reason = MESON_UBOOT_SUSPEND; + else if (strcmp(cmd, "quiescent") == 0 || + strcmp(cmd, ",quiescent") == 0) + reboot_reason = MESON_QUIESCENT_REBOOT; + else if (strcmp(cmd, "recovery,quiescent") == 0 || + strcmp(cmd, "factory_reset,quiescent") == 0 || + strcmp(cmd, "quiescent,recovery") == 0 || + strcmp(cmd, "quiescent,factory_reset") == 0) + reboot_reason = MESON_RECOVERY_QUIESCENT_REBOOT; } else { if (kernel_panic) { if (strcmp(kernel_panic, "kernel_panic") == 0) { diff --git a/include/linux/amlogic/reboot.h b/include/linux/amlogic/reboot.h index de8c6902202d..bf502233d76a 100644 --- a/include/linux/amlogic/reboot.h +++ b/include/linux/amlogic/reboot.h @@ -25,5 +25,7 @@ #define MESON_HIBERNATE 6 #define MESON_BOOTLOADER_REBOOT 7 #define MESON_RPMBP_REBOOT 9 +#define MESON_QUIESCENT_REBOOT 10 #define MESON_CRASH_REBOOT 11 #define MESON_KERNEL_PANIC 12 +#define MESON_RECOVERY_QUIESCENT_REBOOT 14