Commit 568d6015 authored by Radu Rendec's avatar Radu Rendec Committed by Wim Van Sebroeck

watchdog: i6300esb: do not hardcode heartbeat limits

The minimum, maximum and default values for the watchdog heartbeat
(timeout) were hardcoded in several places (including module parameter
description and warning message for invalid module parameter value).

This patch adds macros for the aforementioned values and replaces all
occurences of hardcoded values by these macros.
Signed-off-by: default avatarRadu Rendec <rrendec@arista.com>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent cf73120b
...@@ -81,12 +81,16 @@ static int cards_found; ...@@ -81,12 +81,16 @@ static int cards_found;
/* module parameters */ /* module parameters */
/* 30 sec default heartbeat (1 < heartbeat < 2*1023) */ /* 30 sec default heartbeat (1 < heartbeat < 2*1023) */
#define WATCHDOG_HEARTBEAT 30 #define ESB_HEARTBEAT_MIN 1
#define ESB_HEARTBEAT_MAX 2046
#define ESB_HEARTBEAT_DEFAULT 30
#define ESB_HEARTBEAT_RANGE __MODULE_STRING(ESB_HEARTBEAT_MIN) \
"<heartbeat<" __MODULE_STRING(ESB_HEARTBEAT_MAX)
static int heartbeat; /* in seconds */ static int heartbeat; /* in seconds */
module_param(heartbeat, int, 0); module_param(heartbeat, int, 0);
MODULE_PARM_DESC(heartbeat, MODULE_PARM_DESC(heartbeat,
"Watchdog heartbeat in seconds. (1<heartbeat<2046, default=" "Watchdog heartbeat in seconds. (" ESB_HEARTBEAT_RANGE
__MODULE_STRING(WATCHDOG_HEARTBEAT) ")"); ", default=" __MODULE_STRING(ESB_HEARTBEAT_DEFAULT) ")");
static bool nowayout = WATCHDOG_NOWAYOUT; static bool nowayout = WATCHDOG_NOWAYOUT;
module_param(nowayout, bool, 0); module_param(nowayout, bool, 0);
...@@ -315,13 +319,13 @@ static int esb_probe(struct pci_dev *pdev, ...@@ -315,13 +319,13 @@ static int esb_probe(struct pci_dev *pdev,
/* Initialize the watchdog and make sure it does not run */ /* Initialize the watchdog and make sure it does not run */
edev->wdd.info = &esb_info; edev->wdd.info = &esb_info;
edev->wdd.ops = &esb_ops; edev->wdd.ops = &esb_ops;
edev->wdd.min_timeout = 1; edev->wdd.min_timeout = ESB_HEARTBEAT_MIN;
edev->wdd.max_timeout = 2 * 0x03ff; edev->wdd.max_timeout = ESB_HEARTBEAT_MAX;
edev->wdd.timeout = WATCHDOG_HEARTBEAT; edev->wdd.timeout = ESB_HEARTBEAT_DEFAULT;
if (watchdog_init_timeout(&edev->wdd, heartbeat, NULL)) if (watchdog_init_timeout(&edev->wdd, heartbeat, NULL))
dev_info(&pdev->dev, dev_info(&pdev->dev,
"heartbeat value must be 1<heartbeat<2046, using %u\n", "heartbeat value must be " ESB_HEARTBEAT_RANGE
edev->wdd.timeout); ", using %u\n", edev->wdd.timeout);
watchdog_set_nowayout(&edev->wdd, nowayout); watchdog_set_nowayout(&edev->wdd, nowayout);
watchdog_stop_on_reboot(&edev->wdd); watchdog_stop_on_reboot(&edev->wdd);
watchdog_stop_on_unregister(&edev->wdd); watchdog_stop_on_unregister(&edev->wdd);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment