From 13cc56a3ec3c10080e5dac405b8a0e8e0f488cc3 Mon Sep 17 00:00:00 2001 From: Tao Huang Date: Tue, 15 Apr 2025 19:35:17 +0800 Subject: [PATCH] phy: rockchip: naneng-combphy: Call rockchip_combphy_driver_init() early when CONFIG_INITCALL_ASYNC=y dwc3_driver_init() depends on rockchip_combphy_driver_init() to init usb3phy. But dwc3_driver_init() and rockchip_combphy_driver_init() are both in the same module_init level. Fix this by moving rockchip_combphy_driver_init() to the fs_initcall level. Change-Id: I4e36da029f326f2a31d96db4175769b406bd0230 Signed-off-by: Tao Huang --- drivers/phy/rockchip/phy-rockchip-naneng-combphy.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c index 7a305b1aa2e1..d1a89be9d333 100644 --- a/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c +++ b/drivers/phy/rockchip/phy-rockchip-naneng-combphy.c @@ -1604,7 +1604,21 @@ static struct platform_driver rockchip_combphy_driver = { .of_match_table = rockchip_combphy_of_match, }, }; +#ifdef CONFIG_INITCALL_ASYNC +static int __init rockchip_combphy_driver_init(void) +{ + return platform_driver_register(&rockchip_combphy_driver); +} +fs_initcall(rockchip_combphy_driver_init); + +static void __exit rockchip_combphy_driver_exit(void) +{ + platform_driver_unregister(&rockchip_combphy_driver); +} +module_exit(rockchip_combphy_driver_exit); +#else module_platform_driver(rockchip_combphy_driver); +#endif MODULE_DESCRIPTION("Rockchip NANENG COMBPHY driver"); MODULE_LICENSE("GPL v2");