watchdog: introduce watchdog_worker_should_ping helper
authorRasmus Villemoes <rasmus.villemoes@prevas.dk>
Tue, 30 May 2017 08:56:45 +0000 (10:56 +0200)
committerWim Van Sebroeck <wim@iguana.be>
Mon, 3 Jul 2017 11:59:05 +0000 (13:59 +0200)
This will be useful when the condition becomes slightly more
complicated in the next patch.

Signed-off-by: Rasmus Villemoes <rasmus.villemoes@prevas.dk>
Reviewed-by: Esben Haabendal <esben@haabendal.dk>
Reviewed-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Guenter Roeck <linux@roeck-us.net>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/watchdog_dev.c

index 4bc7ab60b12c4e9b3ec78db03723f5d13cbc52a0..0826e663bd5a3ce1c49b0beef8c6ed9f97da4fb0 100644 (file)
@@ -195,18 +195,23 @@ static int watchdog_ping(struct watchdog_device *wdd)
        return __watchdog_ping(wdd);
 }
 
+static bool watchdog_worker_should_ping(struct watchdog_core_data *wd_data)
+{
+       struct watchdog_device *wdd = wd_data->wdd;
+
+       return wdd && (watchdog_active(wdd) || watchdog_hw_running(wdd));
+}
+
 static void watchdog_ping_work(struct work_struct *work)
 {
        struct watchdog_core_data *wd_data;
-       struct watchdog_device *wdd;
 
        wd_data = container_of(to_delayed_work(work), struct watchdog_core_data,
                               work);
 
        mutex_lock(&wd_data->lock);
-       wdd = wd_data->wdd;
-       if (wdd && (watchdog_active(wdd) || watchdog_hw_running(wdd)))
-               __watchdog_ping(wdd);
+       if (watchdog_worker_should_ping(wd_data))
+               __watchdog_ping(wd_data->wdd);
        mutex_unlock(&wd_data->lock);
 }