]> asedeno.scripts.mit.edu Git - linux.git/commit
PM / devfreq: Fix devfreq_add_device() when drivers are built as modules.
authorEnric Balletbo i Serra <enric.balletbo@collabora.com>
Wed, 4 Jul 2018 08:45:50 +0000 (10:45 +0200)
committerMyungJoo Ham <myungjoo.ham@samsung.com>
Tue, 2 Oct 2018 01:16:41 +0000 (10:16 +0900)
commit23c7b54ca1cd1797ef39169ab85e6d46f1c2d061
treec04d424c2507228ea6cffb310f9b50b6b738296e
parent17b57b1883c1285f3d0dc2266e8f79286a7bef38
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: 1b5c1be2c88e (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>
drivers/devfreq/devfreq.c