Revert "clk: rockchip: use module_platform_driver_probe"
authorHeiko Stuebner <heiko@sntech.de>
Wed, 27 Oct 2021 13:26:15 +0000 (15:26 +0200)
committerStephen Boyd <sboyd@kernel.org>
Wed, 3 Nov 2021 00:59:00 +0000 (17:59 -0700)
This reverts commit 1da80da028fe5accb866c0d6899a292ed86bef45.

Reading recent discussions [0] [1], I realized this change introduces
a number of problems:

- only converting to module_platform_driver creates the issue
  with the existing __init and __initdata attributes.

  When the driver would've been built as a module, all the missing
  clock-definitions (all are initdata) should've turned up as error
  in testing suggesting that the change wasn't at all

- a clock driver is a very core component of soc bringup and making
  this able to be built as a module solely for enabling the soc vendor
  to add out of tree changes for Android implementations is not in our
  interest and also everything except a ramdisk won't probe without a
  clock controller.

  This is especially true when the changes aren't really tested and
  are merely added to move the mainline driver "out of the way".

[0] https://lwn.net/Articles/872209/
[1] https://lore.kernel.org/all/163529604399.15791.378104318036812951@swboyd.mtv.corp.google.com/

Signed-off-by: Heiko Stuebner <heiko@sntech.de>
Link: https://lore.kernel.org/r/20211027132616.1039814-2-heiko@sntech.de
Reviewed-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Stephen Boyd <sboyd@kernel.org>
drivers/clk/rockchip/clk-rk3399.c
drivers/clk/rockchip/clk-rk3568.c

index 7924598..53ed5cc 100644 (file)
@@ -1656,7 +1656,7 @@ static struct platform_driver clk_rk3399_driver = {
                .suppress_bind_attrs = true,
        },
 };
-module_platform_driver_probe(clk_rk3399_driver, clk_rk3399_probe);
+builtin_platform_driver_probe(clk_rk3399_driver, clk_rk3399_probe);
 
 MODULE_DESCRIPTION("Rockchip RK3399 Clock Driver");
 MODULE_LICENSE("GPL");
index 939e707..75ca855 100644 (file)
@@ -1719,7 +1719,7 @@ static struct platform_driver clk_rk3568_driver = {
                .suppress_bind_attrs = true,
        },
 };
-module_platform_driver_probe(clk_rk3568_driver, clk_rk3568_probe);
+builtin_platform_driver_probe(clk_rk3568_driver, clk_rk3568_probe);
 
 MODULE_DESCRIPTION("Rockchip RK3568 Clock Driver");
 MODULE_LICENSE("GPL");