diff options
author | Tomas Winkler <tomas.winkler@intel.com> | 2016-02-07 15:46:49 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2016-02-07 16:00:52 -0500 |
commit | ad1cd720b18330599a9cabaf970095b74c9c3355 (patch) | |
tree | 89cf88032f8b2808c48fecc8a8f413f7eb778859 | |
parent | 7a23f80eaae9c6b5175cd7a96634a91ed9928aff (diff) |
watchdog: mei_wdt: add activation debugfs entry
Add entry for displaying whether the device has activated or
deactivated watchdog fw application.
cat <debugfs>/mei_wdt/activation
activated | deactivated
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r-- | drivers/watchdog/mei_wdt.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/watchdog/mei_wdt.c b/drivers/watchdog/mei_wdt.c index 9addf8902f74..b93474ec34a1 100644 --- a/drivers/watchdog/mei_wdt.c +++ b/drivers/watchdog/mei_wdt.c | |||
@@ -497,6 +497,28 @@ static void mei_wdt_event(struct mei_cl_device *cldev, | |||
497 | 497 | ||
498 | #if IS_ENABLED(CONFIG_DEBUG_FS) | 498 | #if IS_ENABLED(CONFIG_DEBUG_FS) |
499 | 499 | ||
500 | static ssize_t mei_dbgfs_read_activation(struct file *file, char __user *ubuf, | ||
501 | size_t cnt, loff_t *ppos) | ||
502 | { | ||
503 | struct mei_wdt *wdt = file->private_data; | ||
504 | const size_t bufsz = 32; | ||
505 | char buf[32]; | ||
506 | ssize_t pos; | ||
507 | |||
508 | mutex_lock(&wdt->reg_lock); | ||
509 | pos = scnprintf(buf, bufsz, "%s\n", | ||
510 | __mei_wdt_is_registered(wdt) ? "activated" : "deactivated"); | ||
511 | mutex_unlock(&wdt->reg_lock); | ||
512 | |||
513 | return simple_read_from_buffer(ubuf, cnt, ppos, buf, pos); | ||
514 | } | ||
515 | |||
516 | static const struct file_operations dbgfs_fops_activation = { | ||
517 | .open = simple_open, | ||
518 | .read = mei_dbgfs_read_activation, | ||
519 | .llseek = generic_file_llseek, | ||
520 | }; | ||
521 | |||
500 | static ssize_t mei_dbgfs_read_state(struct file *file, char __user *ubuf, | 522 | static ssize_t mei_dbgfs_read_state(struct file *file, char __user *ubuf, |
501 | size_t cnt, loff_t *ppos) | 523 | size_t cnt, loff_t *ppos) |
502 | { | 524 | { |
@@ -536,6 +558,11 @@ static int dbgfs_register(struct mei_wdt *wdt) | |||
536 | if (!f) | 558 | if (!f) |
537 | goto err; | 559 | goto err; |
538 | 560 | ||
561 | f = debugfs_create_file("activation", S_IRUSR, | ||
562 | dir, wdt, &dbgfs_fops_activation); | ||
563 | if (!f) | ||
564 | goto err; | ||
565 | |||
539 | return 0; | 566 | return 0; |
540 | err: | 567 | err: |
541 | dbgfs_unregister(wdt); | 568 | dbgfs_unregister(wdt); |