This series extends the Power State Change Reason Register (PSCRR) [1]
framework to capture two additional reset causes.
1. Kernel panic — a panic notifier writes PSCR_KERNEL_PANIC to NVMEM
before the system resets, so the next boot can distinguish a panic
from other reset causes.
2. Watchdog pretimeout — set_psc_reason(PSCR_WATCHDOG_PRETIMEOUT) is
called from watchdog_notify_pretimeout(), when the watchdog fire its
pre-reset notification before resetting the system, so the reason gets
saved and we know its was a watchdog timeout that caused the reset.
[1] https://lore.kernel.org/lkml/20250618120255.3141862-1-o.rempel@pengutronix.de/
Changes in v2:
- Split patch 2/2 into two patches as requested by Guenter Roeck:
* Patch 2/3: power/reset — add PSCR_WATCHDOG_PRETIMEOUT and guard
panic notifier against overwriting watchdog reason.
* Patch 3/3: watchdog — hook set_psc_reason() into
watchdog_notify_pretimeout().
Signed-off-by: Faruque Ansari <faruque.ansari@oss.qualcomm.com>
---
Faruque Ansari (3):
power: reset: pscrr: add kernel panic reason tracking
power: reset: pscrr: add watchdog pretimeout reason tracking
watchdog: pretimeout: record PSC reason on watchdog pretimeout
drivers/power/reset/pscrr.c | 37 ++++++++++++++++++++++++++++++++++
drivers/watchdog/watchdog_pretimeout.c | 3 +++
include/linux/power/power_on_reason.h | 2 ++
include/linux/reboot.h | 2 ++
kernel/reboot.c | 2 ++
5 files changed, 46 insertions(+)
---
base-commit: 7715d20f91523e0189ba9d8813f03971229d5e90
change-id: 20260721-pscrr-reboot-reason-2432962a9c4d
Best regards,
--
Faruque Ansari <faruque.ansari@oss.qualcomm.com>