}
 #endif
 
-static int __init at91wdt_probe(struct platform_device *pdev)
+static int at91wdt_probe(struct platform_device *pdev)
 {
        int err;
        struct at91wdt *wdt;
        return 0;
 }
 
-static int __exit at91wdt_remove(struct platform_device *pdev)
+static int at91wdt_remove(struct platform_device *pdev)
 {
        struct at91wdt *wdt = platform_get_drvdata(pdev);
        watchdog_unregister_device(&wdt->wdd);
 #endif
 
 static struct platform_driver at91wdt_driver = {
-       .remove         = __exit_p(at91wdt_remove),
+       .probe          = at91wdt_probe,
+       .remove         = at91wdt_remove,
        .driver         = {
                .name   = "at91_wdt",
                .of_match_table = of_match_ptr(at91_wdt_dt_ids),
        },
 };
-
-module_platform_driver_probe(at91wdt_driver, at91wdt_probe);
+module_platform_driver(at91wdt_driver);
 
 MODULE_AUTHOR("Renaud CERRATO <r.cerrato@til-technologies.fr>");
 MODULE_DESCRIPTION("Watchdog driver for Atmel AT91SAM9x processors");