summaryrefslogtreecommitdiffstats
path: root/drivers/watchdog
diff options
context:
space:
mode:
authorWim Van Sebroeck <wim@iguana.be>2012-03-13 09:06:12 +0100
committerWim Van Sebroeck <wim@iguana.be>2012-03-27 20:08:48 +0200
commit697b41e4d4b20b8d8564f5501927b0ed07153990 (patch)
treeb25c5e187bdb5407cdcc7afee34968599d70148f /drivers/watchdog
parentwatchdog: ep93xx: Convert the watchdog driver into a platform device. (diff)
downloadlinux-697b41e4d4b20b8d8564f5501927b0ed07153990.tar.xz
linux-697b41e4d4b20b8d8564f5501927b0ed07153990.zip
watchdog: ep93xx_wdt.c: fix platform probe
Fix the device/driver init so that the misc_register happens as last (since this opens userspace access to the device). Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
Diffstat (limited to 'drivers/watchdog')
-rw-r--r--drivers/watchdog/ep93xx_wdt.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/watchdog/ep93xx_wdt.c b/drivers/watchdog/ep93xx_wdt.c
index 35c49da30b42..bd01bde27c4a 100644
--- a/drivers/watchdog/ep93xx_wdt.c
+++ b/drivers/watchdog/ep93xx_wdt.c
@@ -224,21 +224,21 @@ static int __devinit ep93xx_wdt_probe(struct platform_device *pdev)
if (!mmio_base)
return -ENXIO;
- err = misc_register(&ep93xx_wdt_miscdev);
-
- val = readl(mmio_base + EP93XX_WATCHDOG);
- boot_status = val & 0x01 ? 1 : 0;
-
- pr_info("EP93XX watchdog, driver version " WDT_VERSION "%s\n",
- (val & 0x08) ? " (nCS1 disable detected)" : "");
-
if (timeout < 1 || timeout > 3600) {
timeout = WDT_TIMEOUT;
pr_info("timeout value must be 1<=x<=3600, using %d\n",
timeout);
}
+ val = readl(mmio_base + EP93XX_WATCHDOG);
+ boot_status = val & 0x01 ? 1 : 0;
+
setup_timer(&timer, ep93xx_timer_ping, 1);
+
+ err = misc_register(&ep93xx_wdt_miscdev);
+
+ pr_info("EP93XX watchdog, driver version " WDT_VERSION "%s\n",
+ (val & 0x08) ? " (nCS1 disable detected)" : "");
return err;
}