diff options
author | Akinobu Mita <akinobu.mita@gmail.com> | 2008-11-17 15:16:20 +0000 |
---|---|---|
committer | Richard Purdie <rpurdie@linux.intel.com> | 2009-01-08 12:37:28 +0000 |
commit | 3bcdcc0e6675e6fcd1f27d119464036fb54f53b7 (patch) | |
tree | 2dd0d07ff2db6952126b561148a857376d43d18f /drivers/video/backlight/hp680_bl.c | |
parent | 9e42d0cf5020aaf217433cad1a224745241d212a (diff) | |
download | talos-op-linux-3bcdcc0e6675e6fcd1f27d119464036fb54f53b7.tar.gz talos-op-linux-3bcdcc0e6675e6fcd1f27d119464036fb54f53b7.zip |
backlight: hp680_bl - Use platform_device_register_simple()
Use platform_device_register_simple() and also fix error
handling when platform_device_alloc() fails (hp680_bl_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/video/backlight/hp680_bl.c')
-rw-r--r-- | drivers/video/backlight/hp680_bl.c | 20 |
1 files changed, 8 insertions, 12 deletions
diff --git a/drivers/video/backlight/hp680_bl.c b/drivers/video/backlight/hp680_bl.c index d4cfed0b26d5..5be55a20d8c7 100644 --- a/drivers/video/backlight/hp680_bl.c +++ b/drivers/video/backlight/hp680_bl.c @@ -151,19 +151,15 @@ static int __init hp680bl_init(void) int ret; ret = platform_driver_register(&hp680bl_driver); - if (!ret) { - hp680bl_device = platform_device_alloc("hp680-bl", -1); - if (!hp680bl_device) - return -ENOMEM; - - ret = platform_device_add(hp680bl_device); - - if (ret) { - platform_device_put(hp680bl_device); - platform_driver_unregister(&hp680bl_driver); - } + if (ret) + return ret; + hp680bl_device = platform_device_register_simple("hp680-bl", -1, + NULL, 0); + if (IS_ERR(hp680bl_device)) { + platform_driver_unregister(&hp680bl_driver); + return PTR_ERR(hp680bl_device); } - return ret; + return 0; } static void __exit hp680bl_exit(void) |