#include <linux/moduleparam.h>
#include <linux/types.h>
#include <linux/kernel.h>
+#include <linux/jiffies.h>
+#include <linux/timer.h>
#include <linux/fs.h>
#include <linux/miscdevice.h>
#include <linux/watchdog.h>
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 void __exit avila_wdt_exit(void)
{
misc_deregister(&avila_wdt_miscdev);
+ del_timer(&wdt_timer);
+ wdt_disable();
}