diff mbox series

clk: s2mps11: initialize driver via module_platform_driver

Message ID 20200921203558.19554-1-krzk@kernel.org
State New
Headers show
Series clk: s2mps11: initialize driver via module_platform_driver | expand

Commit Message

Krzysztof Kozlowski Sept. 21, 2020, 8:35 p.m. UTC
The driver was using subsys_initcall() because in old times deferred
probe was not supported everywhere and specific ordering was needed.
Since probe deferral works fine and specific ordering is discouraged
(hides dependencies between drivers and couples their boot order), the
driver can be converted to regular module_platform_driver.

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
---
 drivers/clk/clk-s2mps11.c | 13 +------------
 1 file changed, 1 insertion(+), 12 deletions(-)

Comments

Marek Szyprowski Sept. 22, 2020, 8:04 a.m. UTC | #1
Hi Krzysztof,

On 21.09.2020 22:35, Krzysztof Kozlowski wrote:
> The driver was using subsys_initcall() because in old times deferred
> probe was not supported everywhere and specific ordering was needed.
> Since probe deferral works fine and specific ordering is discouraged
> (hides dependencies between drivers and couples their boot order), the
> driver can be converted to regular module_platform_driver.
>
> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
> ---
>   drivers/clk/clk-s2mps11.c | 13 +------------
>   1 file changed, 1 insertion(+), 12 deletions(-)
>
> diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
> index 2ce370c804aa..aa21371f9104 100644
> --- a/drivers/clk/clk-s2mps11.c
> +++ b/drivers/clk/clk-s2mps11.c
> @@ -267,18 +267,7 @@ static struct platform_driver s2mps11_clk_driver = {
>   	.remove = s2mps11_clk_remove,
>   	.id_table = s2mps11_clk_id,
>   };
> -
> -static int __init s2mps11_clk_init(void)
> -{
> -	return platform_driver_register(&s2mps11_clk_driver);
> -}
> -subsys_initcall(s2mps11_clk_init);
> -
> -static void __exit s2mps11_clk_cleanup(void)
> -{
> -	platform_driver_unregister(&s2mps11_clk_driver);
> -}
> -module_exit(s2mps11_clk_cleanup);
> +module_platform_driver(s2mps11_clk_driver);
>   
>   MODULE_DESCRIPTION("S2MPS11 Clock Driver");
>   MODULE_AUTHOR("Yadwinder Singh Brar <yadi.brar@samsung.com>");

Best regards
Stephen Boyd Sept. 22, 2020, 7:31 p.m. UTC | #2
Quoting Krzysztof Kozlowski (2020-09-21 13:35:57)
> The driver was using subsys_initcall() because in old times deferred

> probe was not supported everywhere and specific ordering was needed.

> Since probe deferral works fine and specific ordering is discouraged

> (hides dependencies between drivers and couples their boot order), the

> driver can be converted to regular module_platform_driver.

> 

> Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>

> ---


Applied to clk-next
diff mbox series

Patch

diff --git a/drivers/clk/clk-s2mps11.c b/drivers/clk/clk-s2mps11.c
index 2ce370c804aa..aa21371f9104 100644
--- a/drivers/clk/clk-s2mps11.c
+++ b/drivers/clk/clk-s2mps11.c
@@ -267,18 +267,7 @@  static struct platform_driver s2mps11_clk_driver = {
 	.remove = s2mps11_clk_remove,
 	.id_table = s2mps11_clk_id,
 };
-
-static int __init s2mps11_clk_init(void)
-{
-	return platform_driver_register(&s2mps11_clk_driver);
-}
-subsys_initcall(s2mps11_clk_init);
-
-static void __exit s2mps11_clk_cleanup(void)
-{
-	platform_driver_unregister(&s2mps11_clk_driver);
-}
-module_exit(s2mps11_clk_cleanup);
+module_platform_driver(s2mps11_clk_driver);
 
 MODULE_DESCRIPTION("S2MPS11 Clock Driver");
 MODULE_AUTHOR("Yadwinder Singh Brar <yadi.brar@samsung.com>");