Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 46c80b20 authored by Jean Delvare's avatar Jean Delvare Committed by Wim Van Sebroeck
Browse files

watchdog: hpwdt: Add support for WDIOC_SETOPTIONS



WDIOC_SETOPTIONS makes it possible to disable and re-enable the
watchdog timer while the hpwdt driver is loaded.

Signed-off-by: default avatarJean Delvare <jdelvare@suse.de>
Reviewed-by: default avatarGuenter Roeck <linux@roeck-us.net>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent a47911e9
Loading
Loading
Loading
Loading
+15 −1
Original line number Diff line number Diff line
@@ -588,7 +588,7 @@ static long hpwdt_ioctl(struct file *file, unsigned int cmd,
{
	void __user *argp = (void __user *)arg;
	int __user *p = argp;
	int new_margin;
	int new_margin, options;
	int ret = -ENOTTY;

	switch (cmd) {
@@ -608,6 +608,20 @@ static long hpwdt_ioctl(struct file *file, unsigned int cmd,
		ret = 0;
		break;

	case WDIOC_SETOPTIONS:
		ret = get_user(options, p);
		if (ret)
			break;

		if (options & WDIOS_DISABLECARD)
			hpwdt_stop();

		if (options & WDIOS_ENABLECARD) {
			hpwdt_start();
			hpwdt_ping();
		}
		break;

	case WDIOC_SETTIMEOUT:
		ret = get_user(new_margin, p);
		if (ret)