[MMC] wbsd: convert to the new platfrom device interface
authorDmitry Torokhov <dtor_core@ameritech.net>
Tue, 3 Jan 2006 22:57:35 +0000 (22:57 +0000)
committerRussell King <rmk+kernel@arm.linux.org.uk>
Tue, 3 Jan 2006 22:57:35 +0000 (22:57 +0000)
platform_device_register_simple() is going away, switch to
using platfrom_device_alloc() + platform_device_add(). Also
make sure that wbsd_driver gets unregistered when wbsd_init
fails.

Signed-off-by: Dmitry Torokhov <dtor@mail.ru>
Acked-by: Pierre Ossman <drzeus@drzeus.cx>
drivers/mmc/wbsd.c

index 9df0ddeb3ff97f107eeb519508f8d905b1642fc4..4f13bd2ccf9a74b2479727951962b83deb79ffbb 100644 (file)
@@ -2087,10 +2087,20 @@ static int __init wbsd_drv_init(void)
                if (result < 0)
                        return result;
 
-               wbsd_device = platform_device_register_simple(DRIVER_NAME, -1,
-                       NULL, 0);
-               if (IS_ERR(wbsd_device))
-                       return PTR_ERR(wbsd_device);
+               wbsd_device = platform_device_alloc(DRIVER_NAME, -1);
+               if (!wbsd_device)
+               {
+                       platform_driver_unregister(&wbsd_driver);
+                       return -ENOMEM;
+               }
+
+               result = platform_device_add(wbsd_device);
+               if (result)
+               {
+                       platform_device_put(wbsd_device);
+                       platform_driver_unregister(&wbsd_driver);
+                       return result;
+               }
        }
 
        return 0;