summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorXing Tong Wu <xingtong.wu@siemens.com>2023-10-07 16:21:25 +0800
committerWim Van Sebroeck <wim@linux-watchdog.org>2023-10-29 19:45:06 +0100
commit725b6a89ed82e72fdcb5cb2c946c65aaa17910e6 (patch)
tree36fc744caedb541e2a36b2ebe8ad48686fb1aa08 /drivers/watchdog
parent7e5bca6e5561c11ac9c541189cce3e6bf420f8b1 (diff)
downloadlinux-stable-725b6a89ed82e72fdcb5cb2c946c65aaa17910e6.tar.gz
linux-stable-725b6a89ed82e72fdcb5cb2c946c65aaa17910e6.tar.bz2
linux-stable-725b6a89ed82e72fdcb5cb2c946c65aaa17910e6.zip
watchdog: wdat_wdt: Add timeout value as a param in ping method
According to the WDAT spec that states about WATCHDOG_ACTION_SET_COUNTDOWN_PERIOD: "This action is required if WATCHDOG_ACTION_RESET does not explicitly write a new countdown value to a register during a reset." And that implies, WATCHDOG_ACTION_RESET may write a countdown value, thus may come with a WATCHDOG_INSTRUCTION_WRITE_COUNTDOWN, thus need the timeout value as parameter or would otherwise write 0. The watchdog for SIONCT6126 need a entry WATCHDOG_INSTRUCTION_WRITE_COUNTDOWN for WATCHDOG_ACTION_RESET action, I send this patch to support it. Signed-off-by: Xing Tong Wu <xingtong.wu@siemens.com> Reviewed-by: Guenter Roeck <linux@roeck-us.net> Link: https://lore.kernel.org/r/20231007082125.4699-1-xingtong_wu@163.com Signed-off-by: Guenter Roeck <linux@roeck-us.net> Signed-off-by: Wim Van Sebroeck <wim@linux-watchdog.org>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/wdat_wdt.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/watchdog/wdat_wdt.c b/drivers/watchdog/wdat_wdt.c
index 0ba99bed59fc..650fdc7996e1 100644
--- a/drivers/watchdog/wdat_wdt.c
+++ b/drivers/watchdog/wdat_wdt.c
@@ -269,7 +269,7 @@ static int wdat_wdt_stop(struct watchdog_device *wdd)
static int wdat_wdt_ping(struct watchdog_device *wdd)
{
- return wdat_wdt_run_action(to_wdat_wdt(wdd), ACPI_WDAT_RESET, 0, NULL);
+ return wdat_wdt_run_action(to_wdat_wdt(wdd), ACPI_WDAT_RESET, wdd->timeout, NULL);
}
static int wdat_wdt_set_timeout(struct watchdog_device *wdd,