clk: qcom: camcc-sm8250: Fix halt on boot by reducing driver's init level

[ Upstream commit c4f4035190 ]

Access to I/O of SM8250 camera clock controller IP depends on enabled
GCC_CAMERA_AHB_CLK clock supplied by global clock controller, the latter
one is inited on subsys level, so, to satisfy the dependency, it would
make sense to deprive the init level of camcc-sm8250 driver.

If both drivers are compiled as built-in, there is a change that a board
won't boot up due to a race, which happens on the same init level.

Fixes: 5d66ca79b5 ("clk: qcom: Add camera clock controller driver for SM8250")
Signed-off-by: Vladimir Zapolskiy <vladimir.zapolskiy@linaro.org>
Reviewed-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Tested-by: Bryan O'Donoghue <bryan.odonoghue@linaro.org>
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Link: https://lore.kernel.org/r/20220518103554.949511-1-vladimir.zapolskiy@linaro.org
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
Vladimir Zapolskiy 2022-05-18 13:35:54 +03:00 коммит произвёл Greg Kroah-Hartman
Родитель 2e79153d2c
Коммит 30f44ddfdb
1 изменённых файлов: 1 добавлений и 11 удалений

Просмотреть файл

@ -2440,17 +2440,7 @@ static struct platform_driver cam_cc_sm8250_driver = {
},
};
static int __init cam_cc_sm8250_init(void)
{
return platform_driver_register(&cam_cc_sm8250_driver);
}
subsys_initcall(cam_cc_sm8250_init);
static void __exit cam_cc_sm8250_exit(void)
{
platform_driver_unregister(&cam_cc_sm8250_driver);
}
module_exit(cam_cc_sm8250_exit);
module_platform_driver(cam_cc_sm8250_driver);
MODULE_DESCRIPTION("QTI CAMCC SM8250 Driver");
MODULE_LICENSE("GPL v2");