[PATCH v2 0/3] power: reset: pscrr: record reset cause on panic and watchdog pretimeout

Faruque Ansari posted 3 patches 2 days, 7 hours ago
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(+)
[PATCH v2 0/3] power: reset: pscrr: record reset cause on panic and watchdog pretimeout
Posted by Faruque Ansari 2 days, 7 hours ago
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>