The probe function of the pio platform driver lives in the init section
and so a pio device that is created after the init section is discarded
probably results in an oops.  Even if this cannot happen, using
platform_driver_probe is cleaner.  (If this can happen and should be
supported the probe function must live in the devinit section instead.)
Signed-off-by: Uwe Kleine-König <ukleinek@strlen.de>
Signed-off-by: Haavard Skinnemoen <haavard.skinnemoen@atmel.com>
 }
 
 static struct platform_driver pio_driver = {
-       .probe          = pio_probe,
        .driver         = {
                .name           = "pio",
        },
 
 static int __init pio_init(void)
 {
-       return platform_driver_register(&pio_driver);
+       return platform_driver_probe(&pio_driver, pio_probe);
 }
 postcore_initcall(pio_init);