|
@@ -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)
|