summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorAkinobu Mita <akinobu.mita@gmail.com>2008-11-17 15:19:29 (GMT)
committerRichard Purdie <rpurdie@linux.intel.com>2009-01-08 12:37:28 (GMT)
commit6cd6f35a4b0ff86638df986efaa307de91f88ae8 (patch)
tree520586777b71aa5534df43b98a32fa1df7580008 /drivers
parent3bcdcc0e6675e6fcd1f27d119464036fb54f53b7 (diff)
downloadlinux-6cd6f35a4b0ff86638df986efaa307de91f88ae8.tar.xz
backlight: progear_bl - Use platform_device_register_simple()
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>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/video/backlight/progear_bl.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/video/backlight/progear_bl.c b/drivers/video/backlight/progear_bl.c
index 15fb4d5..9edaf24f 100644
--- a/drivers/video/backlight/progear_bl.c
+++ b/drivers/video/backlight/progear_bl.c
@@ -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)