lkml.org 
[lkml]   [2017]   [Mar]   [10]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.10 056/167] PM / devfreq: Fix wrong trans_stat of passive devfreq device
    Date
    4.10-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Chanwoo Choi <cw00.choi@samsung.com>

    commit 30582c25a4b4e0a5e456a309fde79b845e9473b2 upstream.

    Until now, the trans_stat information of passive devfreq is not updated.
    This patch updates the trans_stat information after setting the target
    frequency of passive devfreq device.

    Fixes: 996133119f57 ("PM / devfreq: Add new passive governor")
    Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
    Signed-off-by: MyungJoo Ham <myungjoo.ham@samsung.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/devfreq/devfreq.c | 3 ++-
    drivers/devfreq/governor.h | 2 ++
    drivers/devfreq/governor_passive.c | 5 +++++
    3 files changed, 9 insertions(+), 1 deletion(-)

    --- a/drivers/devfreq/devfreq.c
    +++ b/drivers/devfreq/devfreq.c
    @@ -130,7 +130,7 @@ static void devfreq_set_freq_table(struc
    * @devfreq: the devfreq instance
    * @freq: the update target frequency
    */
    -static int devfreq_update_status(struct devfreq *devfreq, unsigned long freq)
    +int devfreq_update_status(struct devfreq *devfreq, unsigned long freq)
    {
    int lev, prev_lev, ret = 0;
    unsigned long cur_time;
    @@ -166,6 +166,7 @@ out:
    devfreq->last_stat_updated = cur_time;
    return ret;
    }
    +EXPORT_SYMBOL(devfreq_update_status);

    /**
    * find_devfreq_governor() - find devfreq governor from name
    --- a/drivers/devfreq/governor.h
    +++ b/drivers/devfreq/governor.h
    @@ -38,4 +38,6 @@ extern void devfreq_interval_update(stru
    extern int devfreq_add_governor(struct devfreq_governor *governor);
    extern int devfreq_remove_governor(struct devfreq_governor *governor);

    +extern int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
    +
    #endif /* _GOVERNOR_H */
    --- a/drivers/devfreq/governor_passive.c
    +++ b/drivers/devfreq/governor_passive.c
    @@ -112,6 +112,11 @@ static int update_devfreq_passive(struct
    if (ret < 0)
    goto out;

    + if (devfreq->profile->freq_table
    + && (devfreq_update_status(devfreq, freq)))
    + dev_err(&devfreq->dev,
    + "Couldn't update frequency transition information.\n");
    +
    devfreq->previous_freq = freq;

    out:

    \
     
     \ /
      Last update: 2017-03-10 10:32    [W:4.089 / U:0.000 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site