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

Commit cb7efc02 authored by H Hartley Sweeten's avatar H Hartley Sweeten Committed by Wim Van Sebroeck
Browse files

watchdog: WatchDog Timer Driver Core - use passed watchdog_device



Use the passed watchdog_device instead of the static global variable when
testing and setting the status in watchdog_ping, watchdog_start, and
watchdog_stop.  Note that the callers of these functions are actually
passing the static global variable.

Signed-off-by: default avatarH Hartley Sweeten <hsweeten@visionengravers.com>
Signed-off-by: default avatarWim Van Sebroeck <wim@iguana.be>
parent 9d037a77
Loading
Loading
Loading
Loading
+7 −7
Original line number Diff line number Diff line
@@ -59,7 +59,7 @@ static struct watchdog_device *wdd;

static int watchdog_ping(struct watchdog_device *wddev)
{
	if (test_bit(WDOG_ACTIVE, &wdd->status)) {
	if (test_bit(WDOG_ACTIVE, &wddev->status)) {
		if (wddev->ops->ping)
			return wddev->ops->ping(wddev);  /* ping the watchdog */
		else
@@ -81,12 +81,12 @@ static int watchdog_start(struct watchdog_device *wddev)
{
	int err;

	if (!test_bit(WDOG_ACTIVE, &wdd->status)) {
	if (!test_bit(WDOG_ACTIVE, &wddev->status)) {
		err = wddev->ops->start(wddev);
		if (err < 0)
			return err;

		set_bit(WDOG_ACTIVE, &wdd->status);
		set_bit(WDOG_ACTIVE, &wddev->status);
	}
	return 0;
}
@@ -105,18 +105,18 @@ static int watchdog_stop(struct watchdog_device *wddev)
{
	int err = -EBUSY;

	if (test_bit(WDOG_NO_WAY_OUT, &wdd->status)) {
	if (test_bit(WDOG_NO_WAY_OUT, &wddev->status)) {
		pr_info("%s: nowayout prevents watchdog to be stopped!\n",
							wdd->info->identity);
							wddev->info->identity);
		return err;
	}

	if (test_bit(WDOG_ACTIVE, &wdd->status)) {
	if (test_bit(WDOG_ACTIVE, &wddev->status)) {
		err = wddev->ops->stop(wddev);
		if (err < 0)
			return err;

		clear_bit(WDOG_ACTIVE, &wdd->status);
		clear_bit(WDOG_ACTIVE, &wddev->status);
	}
	return 0;
}