Re: [PATCH v3 1/4] watchdog: wdat_wdg: Using the existed function to check parameter timeout

From: Guenter Roeck
Date: Tue Apr 26 2022 - 04:12:47 EST


On 4/25/22 23:10, Tzung-Bi Shih wrote:
On Tue, Apr 26, 2022 at 11:35:17AM +0800, Liu Xinpeng wrote:
The module arguement timeout is a configured timeout value.
“separate minimum and maximum HW timeouts and configured timeout value.”
(patch v1 is explained by Guenter Roeck)

So using watchdog_timeout_invalid to check timeout invalid is more justified.

The v3 commit message doesn't help too much for understanding the patch. You
could see [1] for some reference sentences. See also [2].

[1]: https://patchwork.kernel.org/project/linux-watchdog/patch/1650874932-18407-2-git-send-email-liuxp11@xxxxxxxxxxxxxxx/#24831418
[2]: https://elixir.bootlin.com/linux/v5.18-rc4/source/Documentation/watchdog/watchdog-kernel-api.rst#L95

@@ -14,6 +14,7 @@
#include <linux/watchdog.h>
#define MAX_WDAT_ACTIONS ACPI_WDAT_ACTION_RESERVED
+#define WDAT_TIMEOUT_MIN 1

To be consistent, would MIN_WDAT_TIMEOUT be a better name?


Should just have set it to 1 below without using a define.

@@ -344,6 +345,7 @@ static int wdat_wdt_probe(struct platform_device *pdev)
wdat->period = tbl->timer_period;
wdat->wdd.min_hw_heartbeat_ms = wdat->period * tbl->min_count;
wdat->wdd.max_hw_heartbeat_ms = wdat->period * tbl->max_count;
+ wdat->wdd.min_timeout = WDAT_TIMEOUT_MIN;

Does it really need to configure the `min_timeout`? What if leave it as is
(i.e. 0)?

It is better to set it to 1. Otherwise "0" is considered a valid timeout,
which doesn't make much sense.

Guenter