diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c index cf03d64ea28a..87feef912cda 100644 --- a/drivers/devfreq/devfreq.c +++ b/drivers/devfreq/devfreq.c @@ -638,7 +638,6 @@ struct devfreq *devfreq_add_device(struct device *dev, devfreq->last_status.current_frequency = profile->initial_freq; devfreq->data = data; devfreq->nb.notifier_call = devfreq_notifier_call; - devfreq->dev_suspended = false; if (!devfreq->profile->max_state && !devfreq->profile->freq_table) { mutex_unlock(&devfreq->lock); @@ -867,16 +866,12 @@ int devfreq_suspend_device(struct devfreq *devfreq) if (!devfreq) return -EINVAL; - mutex_lock(&devfreq->event_lock); - if (!devfreq->governor || devfreq->dev_suspended) { - mutex_unlock(&devfreq->event_lock); + if (!devfreq->governor) return 0; - } + mutex_lock(&devfreq->event_lock); ret = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_SUSPEND, NULL); - if (!ret) - devfreq->dev_suspended = true; mutex_unlock(&devfreq->event_lock); return ret; } @@ -896,16 +891,12 @@ int devfreq_resume_device(struct devfreq *devfreq) if (!devfreq) return -EINVAL; - mutex_lock(&devfreq->event_lock); - if (!devfreq->governor) { - mutex_unlock(&devfreq->event_lock); + if (!devfreq->governor) return 0; - } + mutex_lock(&devfreq->event_lock); ret = devfreq->governor->event_handler(devfreq, DEVFREQ_GOV_RESUME, NULL); - if (!ret) - devfreq->dev_suspended = false; mutex_unlock(&devfreq->event_lock); return ret; } @@ -1076,10 +1067,6 @@ static ssize_t governor_store(struct device *dev, struct device_attribute *attr, } mutex_lock(&df->event_lock); - if (df->dev_suspended) { - ret = -EINVAL; - goto gov_stop_out; - } if (df->governor) { ret = df->governor->event_handler(df, DEVFREQ_GOV_STOP, NULL); if (ret) { diff --git a/include/linux/devfreq.h b/include/linux/devfreq.h index d029453a5b5b..450130fcef79 100644 --- a/include/linux/devfreq.h +++ b/include/linux/devfreq.h @@ -196,7 +196,6 @@ struct devfreq { struct srcu_notifier_head transition_notifier_list; struct srcu_notifier_head policy_notifier_list; - bool dev_suspended; }; struct devfreq_freqs {