]> git.karo-electronics.de Git - karo-tx-linux.git/blobdiff - drivers/watchdog/via_wdt.c
Merge branch 'next/dt-samsung' of git://git.kernel.org/pub/scm/linux/kernel/git/kgene...
[karo-tx-linux.git] / drivers / watchdog / via_wdt.c
index 465e08273c972c3df5ca01bcf9a44487520cc0bc..aa50da3ccfe3678f8a740eab41abcb61e7beefef 100644 (file)
@@ -91,7 +91,7 @@ static inline void wdt_reset(void)
 static void wdt_timer_tick(unsigned long data)
 {
        if (time_before(jiffies, next_heartbeat) ||
-          (!test_bit(WDOG_ACTIVE, &wdt_dev.status))) {
+          (!watchdog_active(&wdt_dev))) {
                wdt_reset();
                mod_timer(&timer, jiffies + WDT_HEARTBEAT);
        } else
@@ -202,6 +202,9 @@ static int __devinit wdt_probe(struct pci_dev *pdev,
                goto err_out_release;
        }
 
+       if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
+               timeout = WDT_TIMEOUT;
+
        wdt_dev.timeout = timeout;
        watchdog_set_nowayout(&wdt_dev, nowayout);
        if (readl(wdt_mem) & VIA_WDT_FIRED)
@@ -250,20 +253,7 @@ static struct pci_driver wdt_driver = {
        .remove         = __devexit_p(wdt_remove),
 };
 
-static int __init wdt_init(void)
-{
-       if (timeout < 1 || timeout > WDT_TIMEOUT_MAX)
-               timeout = WDT_TIMEOUT;
-       return pci_register_driver(&wdt_driver);
-}
-
-static void __exit wdt_exit(void)
-{
-       pci_unregister_driver(&wdt_driver);
-}
-
-module_init(wdt_init);
-module_exit(wdt_exit);
+module_pci_driver(wdt_driver);
 
 MODULE_AUTHOR("Marc Vertes");
 MODULE_DESCRIPTION("Driver for watchdog timer on VIA chipset");