avila-wdt: add support for disabling the watchdog
authornbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 27 May 2009 15:33:18 +0000 (15:33 +0000)
committernbd <nbd@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 27 May 2009 15:33:18 +0000 (15:33 +0000)
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@16111 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/avila-wdt/src/avila-wdt.c

index 6b3b42b092af7abd6a2c1839fe04c6bebd268c58..18644bc6038bd814cd0dee70d0faa734e10320a9 100644 (file)
@@ -74,10 +74,8 @@ static void wdt_enable(void)
 
 static void wdt_disable(void)
 {
 
 static void wdt_disable(void)
 {
-       /* NB: we can't turn off the watchdog anymore, so we
-        * have to keep running the strobe timer without decrementing
-        * the counter */
-       clear_bit(WDT_RUNNING, &wdt_status);
+       /* Re-enable clock generator output on GPIO 14/15 */
+       *IXP4XX_GPIO_GPCLKR |= (1 << 8);
 }
 
 static int avila_wdt_open(struct inode *inode, struct file *file)
 }
 
 static int avila_wdt_open(struct inode *inode, struct file *file)
@@ -209,6 +207,8 @@ static int __init avila_wdt_init(void)
 static void __exit avila_wdt_exit(void)
 {
        misc_deregister(&avila_wdt_miscdev);
 static void __exit avila_wdt_exit(void)
 {
        misc_deregister(&avila_wdt_miscdev);
+       del_timer(&wdt_timer);
+       wdt_disable();
 }
 
 
 }