|
@@ -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))
|
|
|
|
- devfreq->governor = governor;
|
|
|
|
- if (devfreq->governor)
|
|
|
|
- err = devfreq->governor->event_handler(devfreq,
|
|
|
|
- DEVFREQ_GOV_START, NULL);
|
|
|
|
|
|
+ if (IS_ERR(governor)) {
|
|
|
|
+ dev_err(dev, "%s: Unable to find governor for the device\n",
|
|
|
|
+ __func__);
|
|
|
|
+ err = PTR_ERR(governor);
|
|
|
|
+ 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__);
|