watchdog: s3c2410_wdt: Set timeout to actually achieved timeout
authorHans de Goede <hdegoede@redhat.com>
Fri, 11 May 2012 10:00:27 +0000 (12:00 +0200)
committerWim Van Sebroeck <wim@iguana.be>
Wed, 23 May 2012 14:26:20 +0000 (16:26 +0200)
While rebasing my "watchdog_dev: Let the driver update the timeout field on
set_timeout success" patch (before I noticed it was already picked up by Wim),
I noticed that the s3c2410_wdt driver may not always have a 1 second
resolution, this patch changes s3c2410wdt_set_heartbeat to update the
timeout to the actually achieved timeout.

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
drivers/watchdog/s3c2410_wdt.c

index d277cd614daf7d379462cdb9821653749f90824e..200ece5e2a22adb0d18279af33a83f2458d3ece4 100644 (file)
@@ -202,7 +202,7 @@ static int s3c2410wdt_set_heartbeat(struct watchdog_device *wdd, unsigned timeou
        writel(count, wdt_base + S3C2410_WTDAT);
        writel(wtcon, wdt_base + S3C2410_WTCON);
 
-       wdd->timeout = timeout;
+       wdd->timeout = (count * divisor) / freq;
 
        return 0;
 }