linux-mips.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 0/2] Add stop_on_panic support for watchdog
@ 2025-03-05 10:10 George Cherian
  2025-03-05 10:10 ` [PATCH v4 1/2] watchdog: Add a new flag WDIOF_STOP_MAYSLEEP George Cherian
                   ` (3 more replies)
  0 siblings, 4 replies; 21+ messages in thread
From: George Cherian @ 2025-03-05 10:10 UTC (permalink / raw)
  To: linux, wim, jwerner, evanbenn, kabel, krzk, mazziesaccount,
	thomas.richard, lma, bleung, support.opensource, shawnguo,
	s.hauer, kernel, festevam, andy, paul, alexander.usyskin,
	andreas.werner, daniel, romain.perier, avifishman70, tmaimon77,
	tali.perry1, venture, yuenn, benjaminfair, maddy, mpe, npiggin,
	christophe.leroy, naveen, mwalle, xingyu.wu, ziv.xu,
	hayashi.kunihiko, mhiramat
  Cc: linux-watchdog, linux-kernel, linux-arm-kernel, chrome-platform,
	imx, linux-mips, openbmc, linuxppc-dev, patches, George Cherian

This series adds a new kernel command line option to watchdog core to
stop the watchdog on panic. This is useul in certain systems which prevents
successful loading of kdump kernel due to watchdog reset.

Some of the watchdog drivers stop function could sleep. For such
drivers the stop_on_panic is not valid as the notifier callback happens
in atomic context. Introduce WDIOF_STOP_MAYSLEEP flag to watchdog_info
options to indicate whether the stop function would sleep.


Changelog:
v1 -> v2
- Remove the per driver flag setting option
- Take the parameter via kernel command-line parameter to watchdog_core.

v2 -> v3
- Remove the helper function watchdog_stop_on_panic() from watchdog.h.
- There are no users for this. 

v3 -> v4
- Since the panic notifier is in atomic context, watchdog functions
  which sleep can't be called. 
- Add an options flag WDIOF_STOP_MAYSLEEP to indicate whether stop
  function sleeps.
- Simplify the stop_on_panic kernel command line parsing.
- Enable the panic notiffier only if the watchdog stop function doesn't
  sleep

George Cherian (2):
  watchdog: Add a new flag WDIOF_STOP_MAYSLEEP
  drivers: watchdog: Add support for panic notifier callback

 drivers/watchdog/advantech_ec_wdt.c |  3 ++-
 drivers/watchdog/arm_smc_wdt.c      |  3 ++-
 drivers/watchdog/armada_37xx_wdt.c  |  2 +-
 drivers/watchdog/asm9260_wdt.c      |  2 +-
 drivers/watchdog/bcm47xx_wdt.c      |  3 ++-
 drivers/watchdog/bd9576_wdt.c       |  2 +-
 drivers/watchdog/bd96801_wdt.c      |  2 +-
 drivers/watchdog/cgbc_wdt.c         |  2 +-
 drivers/watchdog/cros_ec_wdt.c      |  5 ++++-
 drivers/watchdog/da9052_wdt.c       |  3 ++-
 drivers/watchdog/da9055_wdt.c       |  4 +++-
 drivers/watchdog/da9062_wdt.c       |  4 +++-
 drivers/watchdog/da9063_wdt.c       |  4 +++-
 drivers/watchdog/db8500_wdt.c       |  5 ++++-
 drivers/watchdog/dw_wdt.c           |  5 +++--
 drivers/watchdog/f71808e_wdt.c      |  3 ++-
 drivers/watchdog/gpio_wdt.c         |  2 +-
 drivers/watchdog/i6300esb.c         |  5 ++++-
 drivers/watchdog/imx_sc_wdt.c       |  2 +-
 drivers/watchdog/intel-mid_wdt.c    |  5 ++++-
 drivers/watchdog/it87_wdt.c         |  5 ++++-
 drivers/watchdog/jz4740_wdt.c       |  5 ++++-
 drivers/watchdog/kempld_wdt.c       |  3 ++-
 drivers/watchdog/lenovo_se10_wdt.c  |  5 ++++-
 drivers/watchdog/max77620_wdt.c     |  5 ++++-
 drivers/watchdog/mei_wdt.c          |  3 ++-
 drivers/watchdog/menf21bmc_wdt.c    |  4 +++-
 drivers/watchdog/mlx_wdt.c          |  2 +-
 drivers/watchdog/msc313e_wdt.c      |  5 ++++-
 drivers/watchdog/npcm_wdt.c         |  3 ++-
 drivers/watchdog/omap_wdt.c         |  5 ++++-
 drivers/watchdog/pm8916_wdt.c       |  5 +++--
 drivers/watchdog/pseries-wdt.c      |  2 +-
 drivers/watchdog/rave-sp-wdt.c      |  5 ++++-
 drivers/watchdog/renesas_wdt.c      |  7 ++++--
 drivers/watchdog/retu_wdt.c         |  5 ++++-
 drivers/watchdog/rn5t618_wdt.c      |  6 +++--
 drivers/watchdog/rzg2l_wdt.c        |  5 ++++-
 drivers/watchdog/rzv2h_wdt.c        |  5 ++++-
 drivers/watchdog/shwdt.c            |  6 +++--
 drivers/watchdog/sl28cpld_wdt.c     |  5 ++++-
 drivers/watchdog/softdog.c          |  5 ++++-
 drivers/watchdog/sp805_wdt.c        |  5 ++++-
 drivers/watchdog/starfive-wdt.c     |  3 ++-
 drivers/watchdog/stpmic1_wdt.c      |  5 ++++-
 drivers/watchdog/ts4800_wdt.c       |  5 ++++-
 drivers/watchdog/twl4030_wdt.c      |  5 ++++-
 drivers/watchdog/uniphier_wdt.c     |  3 ++-
 drivers/watchdog/w83627hf_wdt.c     |  5 ++++-
 drivers/watchdog/watchdog_core.c    | 35 +++++++++++++++++++++++++++++
 drivers/watchdog/wm831x_wdt.c       |  5 ++++-
 drivers/watchdog/wm8350_wdt.c       |  5 ++++-
 drivers/watchdog/xen_wdt.c          |  5 ++++-
 drivers/watchdog/ziirave_wdt.c      |  5 ++++-
 include/linux/watchdog.h            |  2 ++
 include/uapi/linux/watchdog.h       |  1 +
 56 files changed, 198 insertions(+), 58 deletions(-)

-- 
2.34.1


^ permalink raw reply	[flat|nested] 21+ messages in thread

end of thread, other threads:[~2025-03-06 17:22 UTC | newest]

Thread overview: 21+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-05 10:10 [PATCH v4 0/2] Add stop_on_panic support for watchdog George Cherian
2025-03-05 10:10 ` [PATCH v4 1/2] watchdog: Add a new flag WDIOF_STOP_MAYSLEEP George Cherian
2025-03-05 10:18   ` Marek Behún
2025-03-05 10:34     ` George Cherian
2025-03-05 11:01       ` Ahmad Fatoum
2025-03-05 23:58         ` Guenter Roeck
2025-03-06 12:18           ` [EXTERNAL] " George Cherian
2025-03-06 17:22             ` Guenter Roeck
2025-03-05 10:30   ` Andy Shevchenko
2025-03-05 22:50   ` Julius Werner
2025-03-06  9:40     ` George Cherian
2025-03-05 23:03   ` Guenter Roeck
2025-03-05 10:10 ` [PATCH v4 2/2] drivers: watchdog: Add support for panic notifier callback George Cherian
2025-03-05 10:33   ` Andy Shevchenko
2025-03-06  0:00     ` Guenter Roeck
2025-03-05 10:31 ` [PATCH v4 0/2] Add stop_on_panic support for watchdog Andy Shevchenko
2025-03-05 10:41 ` Ahmad Fatoum
2025-03-05 11:28   ` [EXTERNAL] " George Cherian
2025-03-05 11:39     ` Ahmad Fatoum
2025-03-05 12:15       ` George Cherian
2025-03-05 12:23         ` Ahmad Fatoum

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).