diff options
author | Marek Szyprowski <m.szyprowski@samsung.com> | 2023-05-18 09:44:03 +0200 |
---|---|---|
committer | Chanwoo Choi <cw00.choi@samsung.com> | 2023-05-29 23:24:13 +0900 |
commit | ccb69e228ea48f8ea1e4a7dfeedf501329a9fdf4 (patch) | |
tree | c5462a37329581366f14ca80ecad57bcf55ad975 /drivers/devfreq | |
parent | 4a3a2c32a5ee163bc8f195b04751f165aa4d9c83 (diff) | |
download | linux-stable-ccb69e228ea48f8ea1e4a7dfeedf501329a9fdf4.tar.gz linux-stable-ccb69e228ea48f8ea1e4a7dfeedf501329a9fdf4.tar.bz2 linux-stable-ccb69e228ea48f8ea1e4a7dfeedf501329a9fdf4.zip |
PM / devfreq: exynos: add Exynos PPMU as a soft module dependency
Commit adf8238ef403 ("ARM: dts: exynos: move exynos-bus nodes out of soc
in Exynos4412") changed the order of the exynos-bus nodes, what results
in different probe order of the Exynos Bus devices. Although the driver
properly handles the deferred probe and all devices seems to be finally
properly registered, this change revealed some kind of a bug related to
PPMU counters registration and passive governor operation. Usually in 1
of 10 boots this results in complete board freeze during loading of the
kernel modules.
To avoid that freeze, ensure that the Exynos PPMU driver is already
loaded before the Exynos Bus driver starts probing.
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Diffstat (limited to 'drivers/devfreq')
-rw-r--r-- | drivers/devfreq/exynos-bus.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/devfreq/exynos-bus.c b/drivers/devfreq/exynos-bus.c index 88414445adf3..245898f1a88e 100644 --- a/drivers/devfreq/exynos-bus.c +++ b/drivers/devfreq/exynos-bus.c @@ -518,6 +518,7 @@ static struct platform_driver exynos_bus_platdrv = { }; module_platform_driver(exynos_bus_platdrv); +MODULE_SOFTDEP("pre: exynos_ppmu"); MODULE_DESCRIPTION("Generic Exynos Bus frequency driver"); MODULE_AUTHOR("Chanwoo Choi <cw00.choi@samsung.com>"); MODULE_LICENSE("GPL v2"); |