linux/drivers/devfreq
Enric Balletbo i Serra 23c7b54ca1 PM / devfreq: Fix devfreq_add_device() when drivers are built as modules.
When the devfreq driver and the governor driver are built as modules,
the call to devfreq_add_device() or governor_store() fails because the
governor driver is not loaded at the time the devfreq driver loads. The
devfreq driver has a build dependency on the governor but also should
have a runtime dependency. We need to make sure that the governor driver
is loaded before the devfreq driver.

This patch fixes this bug by adding a try_then_request_governor()
function. First tries to find the governor, and then, if it is not found,
it requests the module and tries again.

Fixes: 1b5c1be2c8 (PM / devfreq: map devfreq drivers to governor using name)
Signed-off-by: Enric Balletbo i Serra <enric.balletbo@collabora.com>
Reviewed-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
2018-10-02 10:16:41 +09:00
..
event PM / devfreq: exynos-ppmu: Delete an error message for a failed memory allocation in exynos_ppmu_probe() 2018-07-18 13:56:46 +09:00
devfreq-event.c PM / devfreq: Convert to using %pOF instead of full_name 2017-08-28 09:15:33 +09:00
devfreq.c PM / devfreq: Fix devfreq_add_device() when drivers are built as modules. 2018-10-02 10:16:41 +09:00
exynos-bus.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor_passive.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor_performance.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor_powersave.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor_simpleondemand.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor_userspace.c PM / devfreq: Define the constant governor name 2017-10-26 17:08:40 +09:00
governor.h PM / devfreq: Move private devfreq_update_stats() into devfreq 2017-08-28 10:22:27 +09:00
Kconfig PM / devfreq: Add dependency on PM_OPP 2017-08-28 10:23:57 +09:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
rk3399_dmc.c PM / devfreq: rk3399_dmc: Fix duplicated opp table on reload. 2018-07-18 13:58:39 +09:00
tegra-devfreq.c headers: separate linux/mod_devicetable.h from linux/platform_device.h 2018-07-07 17:52:26 +02:00