summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAhmad Fatoum <ahmad@a3f.at>2019-11-21 09:40:04 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2019-12-05 09:10:26 +0100
commitaade8d53cf6cccf7958d2c11e5791dfcd85a584f (patch)
tree6750480db84ad34ccff3b8e2105c8e24bc6ad8fc
parent713a601bde07bb498f99bc6288d0c10ddcbe2e0a (diff)
downloadbarebox-aade8d53cf6cccf7958d2c11e5791dfcd85a584f.tar.gz
barebox-aade8d53cf6cccf7958d2c11e5791dfcd85a584f.tar.xz
watchdog: core: use new dev_add_param_tristate helper for .running param
Previous commit added a dev_add_param_tristate_ro that can be readily used instead of the enum parameter here. Use it. This also fixes the issue that running_names had external linkage. Signed-off-by: Ahmad Fatoum <ahmad@a3f.at> Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--drivers/watchdog/wd_core.c9
-rw-r--r--include/watchdog.h5
2 files changed, 5 insertions, 9 deletions
diff --git a/drivers/watchdog/wd_core.c b/drivers/watchdog/wd_core.c
index fcead11755..b6e2a37b1f 100644
--- a/drivers/watchdog/wd_core.c
+++ b/drivers/watchdog/wd_core.c
@@ -152,12 +152,6 @@ static unsigned int dev_get_watchdog_priority(struct device_d *dev)
return priority;
}
-const char *running_names[] = {
- [WDOG_HW_RUNNING_UNSUPPORTED] = "unknown",
- [WDOG_HW_RUNNING] = "1",
- [WDOG_HW_NOT_RUNNING] = "0",
-};
-
int watchdog_register(struct watchdog *wd)
{
struct param_d *p;
@@ -176,8 +170,7 @@ int watchdog_register(struct watchdog *wd)
if (ret)
return ret;
- p = dev_add_param_enum_ro(&wd->dev, "running", &wd->running,
- running_names, ARRAY_SIZE(running_names));
+ p = dev_add_param_tristate_ro(&wd->dev, "running", &wd->running);
if (IS_ERR(p))
return PTR_ERR(p);
diff --git a/include/watchdog.h b/include/watchdog.h
index 5790205a48..9741570ce2 100644
--- a/include/watchdog.h
+++ b/include/watchdog.h
@@ -15,9 +15,12 @@
#include <poller.h>
#include <driver.h>
+#include <param.h>
enum wdog_hw_runnning {
- WDOG_HW_RUNNING_UNSUPPORTED, WDOG_HW_RUNNING, WDOG_HW_NOT_RUNNING
+ WDOG_HW_RUNNING_UNSUPPORTED = PARAM_TRISTATE_UNKNOWN,
+ WDOG_HW_RUNNING = PARAM_TRISTATE_TRUE,
+ WDOG_HW_NOT_RUNNING = PARAM_TRISTATE_FALSE
};
struct watchdog {