Thread (9 messages) flat view 9 messages, 4 authors, 2011-01-09

[PATCHv3] watchdog: add support for the Synopsys DesignWare WDT

From: Wim Van Sebroeck <hidden>
Date: 2011-01-09 10:07:32
Also in: linux-watchdog

Hi Jamie,

On top of other comments from Viresh:
+static int dw_wdt_open(struct inode *inode, struct file *filp)
+{
+	/* Make sure we don't get unloaded. */
+	__module_get(THIS_MODULE);
+
+	spin_lock(&dw_wdt.lock);
+	if (!dw_wdt_is_enabled()) {
+		/*
+		 * The watchdog is not currently enabled. Set the timeout to
+		 * the maximum and then start it.
+		 */
+		dw_wdt_set_top(DW_WDT_MAX_TOP);
+		writel(WDOG_CONTROL_REG_WDT_EN_MASK,
+		       dw_wdt.regs + WDOG_CONTROL_REG_OFFSET);
+	}
+	spin_unlock(&dw_wdt.lock);
+
+	return nonseekable_open(inode, filp);
+}
Would be nice to have the open /dev/watchdog once protection here also.
+static int __devexit dw_wdt_drv_remove(struct platform_device *pdev)
+{
+	clk_disable(dw_wdt.clk);
+	clk_put(dw_wdt.clk);
+
+	misc_deregister(&dw_wdt_miscdev);
+
+	return 0;
+}
misc_deregister (=link to user-space) should be called before the clk_disabel calls.

Kind regards,
Wim.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help