watchdog: ep93xx_wdt.c: fix platform probe
authorWim Van Sebroeck <wim@iguana.be>
Tue, 13 Mar 2012 08:06:12 +0000 (09:06 +0100)
committerWim Van Sebroeck <wim@iguana.be>
Tue, 27 Mar 2012 18:08:48 +0000 (20:08 +0200)
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>
drivers/watchdog/ep93xx_wdt.c

index 35c49da..bd01bde 100644 (file)
@@ -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;
 }