Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1510306 > unrolled thread

[PATCH] Input: gpio-keys - use module_platform_driver macro

Started bySlawomir Stepien <sst@poczta.fm>
First post2016-10-27 16:40 +0200
Last post2016-10-27 21:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] Input: gpio-keys - use module_platform_driver macro Slawomir Stepien <sst@poczta.fm> - 2016-10-27 16:40 +0200
    Re: [PATCH] Input: gpio-keys - use module_platform_driver macro Dmitry Torokhov <dmitry.torokhov@gmail.com> - 2016-10-27 18:50 +0200
      Re: [PATCH] Input: gpio-keys - use module_platform_driver macro Slawomir Stepien <sst@poczta.fm> - 2016-10-27 21:20 +0200

#1510306 — [PATCH] Input: gpio-keys - use module_platform_driver macro

FromSlawomir Stepien <sst@poczta.fm>
Date2016-10-27 16:40 +0200
Subject[PATCH] Input: gpio-keys - use module_platform_driver macro
Message-ID<swU0z-38X-69@gated-at.bofh.it>
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 <sst@poczta.fm>
---
 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);
-module_exit(gpio_keys_exit);
+module_platform_driver(gpio_keys_device_driver);
 
 MODULE_LICENSE("GPL");
 MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>");
-- 
2.10.0

[toc] | [next] | [standalone]


#1510481

FromDmitry Torokhov <dmitry.torokhov@gmail.com>
Date2016-10-27 18:50 +0200
Message-ID<swW2l-4oW-19@gated-at.bofh.it>
In reply to#1510306
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 <sst@poczta.fm>
> ---
>  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 <pb@handhelds.org>");
> -- 
> 2.10.0

Thanks.

-- 
Dmitry

[toc] | [prev] | [next] | [standalone]


#1510587

FromSlawomir Stepien <sst@poczta.fm>
Date2016-10-27 21:20 +0200
Message-ID<swYnw-60b-7@gated-at.bofh.it>
In reply to#1510481
On Oct 27, 2016 09:48, Dmitry Torokhov wrote:
> Hi Slawomir,

Hi Dmitry,

> > -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.

I was unaware of that. Let me look in to that more deeply. At the moment I do
not have the knowledge what will be to correct solution for that.

> > -module_exit(gpio_keys_exit);
> > +module_platform_driver(gpio_keys_device_driver);
> >  
> >  MODULE_LICENSE("GPL");
> >  MODULE_AUTHOR("Phil Blundell <pb@handhelds.org>");
> 
> Thanks.

Thank you.

-- 
Slawomir Stepien

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web