backlight: progear_bl - Use platform_device_register_simple()
authorAkinobu Mita <akinobu.mita@gmail.com>
Mon, 17 Nov 2008 15:19:29 +0000 (15:19 +0000)
committerRichard Purdie <rpurdie@linux.intel.com>
Thu, 8 Jan 2009 12:37:28 +0000 (12:37 +0000)
Use platform_device_register_simple() and also fix error
handling when platform_device_alloc() fails (progearbl_driver
is left registered).

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: Richard Purdie <rpurdie@linux.intel.com>
drivers/video/backlight/progear_bl.c

index 15fb4d5..9edaf24 100644 (file)
@@ -119,20 +119,16 @@ static int __init progearbl_init(void)
 {
        int ret = platform_driver_register(&progearbl_driver);
 
-       if (!ret) {
-               progearbl_device = platform_device_alloc("progear-bl", -1);
-               if (!progearbl_device)
-                       return -ENOMEM;
-
-               ret = platform_device_add(progearbl_device);
-
-               if (ret) {
-                       platform_device_put(progearbl_device);
-                       platform_driver_unregister(&progearbl_driver);
-               }
+       if (ret)
+               return ret;
+       progearbl_device = platform_device_register_simple("progear-bl", -1,
+                                                               NULL, 0);
+       if (IS_ERR(progearbl_device)) {
+               platform_driver_unregister(&progearbl_driver);
+               return PTR_ERR(progearbl_device);
        }
 
-       return ret;
+       return 0;
 }
 
 static void __exit progearbl_exit(void)