Re: [PATCH] Input: gpio-keys - use module_platform_driver macro
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-10-27 16:48:38
Also in:
kernel-janitors, lkml
From: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Date: 2016-10-27 16:48:38
Also in:
kernel-janitors, lkml
Hi Slawomir, On Thu, Oct 27, 2016 at 04:15:54PM +0200, Slawomir Stepien wrote:
The gpio_keys_init() and gpio_keys_exit() are not doing anything more then just register and unregister. Replace these functions with module_platform_driver. Signed-off-by: Slawomir Stepien <redacted> --- drivers/input/keyboard/gpio_keys.c | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-)diff --git a/drivers/input/keyboard/gpio_keys.c b/drivers/input/keyboard/gpio_keys.c index 2909365..e54b586 100644 --- a/drivers/input/keyboard/gpio_keys.c +++ b/drivers/input/keyboard/gpio_keys.c@@ -877,18 +877,7 @@ static struct platform_driver gpio_keys_device_driver = { } }; -static int __init gpio_keys_init(void) -{ - return platform_driver_register(&gpio_keys_device_driver); -} - -static void __exit gpio_keys_exit(void) -{ - platform_driver_unregister(&gpio_keys_device_driver); -} - -late_initcall(gpio_keys_init);
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ Because of this we can't switch to module_platform_driver(). The late_initcall was requirement of one of platforms because of the probe ordering issues. It may be resolved now with deferred probing, but you'd need to confirm with all the users.
-module_exit(gpio_keys_exit);
+module_platform_driver(gpio_keys_device_driver);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("Phil Blundell [off-list ref]");
--
2.10.0Thanks. -- Dmitry