Commit 9447057eaff871dd7c63c808de761b8732407169
platform_device: use a macro instead of platform_driver_register
I found a lot of mistakes using struct platform_driver without owner so I make a macro instead of the function platform_driver_register. It can set owner in it, then guys don`t care about module owner again. Signed-off-by: Libo Chen <libo.chen@huawei.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Showing 2 changed files with 12 additions and 4 deletions Side-by-side Diff
... | ... | @@ -523,11 +523,13 @@ |
523 | 523 | } |
524 | 524 | |
525 | 525 | /** |
526 | - * platform_driver_register - register a driver for platform-level devices | |
526 | + * __platform_driver_register - register a driver for platform-level devices | |
527 | 527 | * @drv: platform driver structure |
528 | 528 | */ |
529 | -int platform_driver_register(struct platform_driver *drv) | |
529 | +int __platform_driver_register(struct platform_driver *drv, | |
530 | + struct module *owner) | |
530 | 531 | { |
532 | + drv->driver.owner = owner; | |
531 | 533 | drv->driver.bus = &platform_bus_type; |
532 | 534 | if (drv->probe) |
533 | 535 | drv->driver.probe = platform_drv_probe; |
... | ... | @@ -538,7 +540,7 @@ |
538 | 540 | |
539 | 541 | return driver_register(&drv->driver); |
540 | 542 | } |
541 | -EXPORT_SYMBOL_GPL(platform_driver_register); | |
543 | +EXPORT_SYMBOL_GPL(__platform_driver_register); | |
542 | 544 | |
543 | 545 | /** |
544 | 546 | * platform_driver_unregister - unregister a driver for platform-level devices |
... | ... | @@ -180,7 +180,13 @@ |
180 | 180 | const struct platform_device_id *id_table; |
181 | 181 | }; |
182 | 182 | |
183 | -extern int platform_driver_register(struct platform_driver *); | |
183 | +/* | |
184 | + * use a macro to avoid include chaining to get THIS_MODULE | |
185 | + */ | |
186 | +#define platform_driver_register(drv) \ | |
187 | + __platform_driver_register(drv, THIS_MODULE) | |
188 | +extern int __platform_driver_register(struct platform_driver *, | |
189 | + struct module *); | |
184 | 190 | extern void platform_driver_unregister(struct platform_driver *); |
185 | 191 | |
186 | 192 | /* non-hotpluggable platform devices may use this so that probe() and |
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65
-
mentioned in commit 161d69
-
mentioned in commit c3b50d
-
mentioned in commit 291f65