PM / devfreq: Fix the bug of devfreq_add_device when governor is NULL
This patch fixes the bug of devfreq_add_device(). The devfreq device must
have the default governor. If find_devfreq_governor() returns error,
devfreq_add_device() fail to add the devfreq instance.
Fixes: 1b5c1be2c8
(PM / devfreq: map devfreq drivers to governor using name)
Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
9932ef3ca7
commit
73613b16cb
@ -593,11 +593,16 @@ struct devfreq *devfreq_add_device(struct device *dev,
|
|||||||
list_add(&devfreq->node, &devfreq_list);
|
list_add(&devfreq->node, &devfreq_list);
|
||||||
|
|
||||||
governor = find_devfreq_governor(devfreq->governor_name);
|
governor = find_devfreq_governor(devfreq->governor_name);
|
||||||
if (!IS_ERR(governor))
|
if (IS_ERR(governor)) {
|
||||||
devfreq->governor = governor;
|
dev_err(dev, "%s: Unable to find governor for the device\n",
|
||||||
if (devfreq->governor)
|
__func__);
|
||||||
err = devfreq->governor->event_handler(devfreq,
|
err = PTR_ERR(governor);
|
||||||
DEVFREQ_GOV_START, NULL);
|
goto err_init;
|
||||||
|
}
|
||||||
|
|
||||||
|
devfreq->governor = governor;
|
||||||
|
err = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_START,
|
||||||
|
NULL);
|
||||||
if (err) {
|
if (err) {
|
||||||
dev_err(dev, "%s: Unable to start governor for the device\n",
|
dev_err(dev, "%s: Unable to start governor for the device\n",
|
||||||
__func__);
|
__func__);
|
||||||
|
Loading…
Reference in New Issue
Block a user