diff options
author | Xing Tong Wu <xingtong.wu@siemens.com> | 2023-10-07 16:21:25 +0800 |
---|---|---|
committer | Wim Van Sebroeck <wim@linux-watchdog.org> | 2023-10-29 19:45:06 +0100 |
commit | 725b6a89ed82e72fdcb5cb2c946c65aaa17910e6 (patch) | |
tree | 36fc744caedb541e2a36b2ebe8ad48686fb1aa08 /drivers/watchdog | |
parent | 7e5bca6e5561c11ac9c541189cce3e6bf420f8b1 (diff) | |
download | linux-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.c | 2 |
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, |