lkml.org 
[lkml]   [2022]   [May]   [17]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH v5 1/4] PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
    Date
    In order to get frequency range within devfreq governors,
    export devfreq_get_freq_range symbol within devfreq.

    Reviewed-by: Matthias Kaehlcke <mka@chromium.org>
    Tested-by: Chen-Yu Tsai <wenst@chromium.org>
    Tested-by: Johnson Wang <johnson.wang@mediatek.com>
    Signed-off-by: Chanwoo Choi <cw00.choi@samsung.com>
    ---
    drivers/devfreq/devfreq.c | 20 ++++++++++++--------
    drivers/devfreq/governor.h | 2 ++
    2 files changed, 14 insertions(+), 8 deletions(-)

    diff --git a/drivers/devfreq/devfreq.c b/drivers/devfreq/devfreq.c
    index a525a609dfc6..01474daf4548 100644
    --- a/drivers/devfreq/devfreq.c
    +++ b/drivers/devfreq/devfreq.c
    @@ -112,16 +112,16 @@ static unsigned long find_available_max_freq(struct devfreq *devfreq)
    }

    /**
    - * get_freq_range() - Get the current freq range
    + * devfreq_get_freq_range() - Get the current freq range
    * @devfreq: the devfreq instance
    * @min_freq: the min frequency
    * @max_freq: the max frequency
    *
    * This takes into consideration all constraints.
    */
    -static void get_freq_range(struct devfreq *devfreq,
    - unsigned long *min_freq,
    - unsigned long *max_freq)
    +void devfreq_get_freq_range(struct devfreq *devfreq,
    + unsigned long *min_freq,
    + unsigned long *max_freq)
    {
    unsigned long *freq_table = devfreq->profile->freq_table;
    s32 qos_min_freq, qos_max_freq;
    @@ -158,6 +158,7 @@ static void get_freq_range(struct devfreq *devfreq,
    if (*min_freq > *max_freq)
    *min_freq = *max_freq;
    }
    +EXPORT_SYMBOL(devfreq_get_freq_range);

    /**
    * devfreq_get_freq_level() - Lookup freq_table for the frequency
    @@ -418,7 +419,7 @@ int devfreq_update_target(struct devfreq *devfreq, unsigned long freq)
    err = devfreq->governor->get_target_freq(devfreq, &freq);
    if (err)
    return err;
    - get_freq_range(devfreq, &min_freq, &max_freq);
    + devfreq_get_freq_range(devfreq, &min_freq, &max_freq);

    if (freq < min_freq) {
    freq = min_freq;
    @@ -785,6 +786,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
    {
    struct devfreq *devfreq;
    struct devfreq_governor *governor;
    + unsigned long min_freq, max_freq;
    int err = 0;

    if (!dev || !profile || !governor_name) {
    @@ -849,6 +851,8 @@ struct devfreq *devfreq_add_device(struct device *dev,
    goto err_dev;
    }

    + devfreq_get_freq_range(devfreq, &min_freq, &max_freq);
    +
    devfreq->suspend_freq = dev_pm_opp_get_suspend_opp_freq(dev);
    devfreq->opp_table = dev_pm_opp_get_opp_table(dev);
    if (IS_ERR(devfreq->opp_table))
    @@ -1587,7 +1591,7 @@ static ssize_t min_freq_show(struct device *dev, struct device_attribute *attr,
    unsigned long min_freq, max_freq;

    mutex_lock(&df->lock);
    - get_freq_range(df, &min_freq, &max_freq);
    + devfreq_get_freq_range(df, &min_freq, &max_freq);
    mutex_unlock(&df->lock);

    return sprintf(buf, "%lu\n", min_freq);
    @@ -1641,7 +1645,7 @@ static ssize_t max_freq_show(struct device *dev, struct device_attribute *attr,
    unsigned long min_freq, max_freq;

    mutex_lock(&df->lock);
    - get_freq_range(df, &min_freq, &max_freq);
    + devfreq_get_freq_range(df, &min_freq, &max_freq);
    mutex_unlock(&df->lock);

    return sprintf(buf, "%lu\n", max_freq);
    @@ -1955,7 +1959,7 @@ static int devfreq_summary_show(struct seq_file *s, void *data)

    mutex_lock(&devfreq->lock);
    cur_freq = devfreq->previous_freq;
    - get_freq_range(devfreq, &min_freq, &max_freq);
    + devfreq_get_freq_range(devfreq, &min_freq, &max_freq);
    timer = devfreq->profile->timer;

    if (IS_SUPPORTED_ATTR(devfreq->governor->attrs, POLLING_INTERVAL))
    diff --git a/drivers/devfreq/governor.h b/drivers/devfreq/governor.h
    index 002a7d67e39d..b0dbfee8bbf2 100644
    --- a/drivers/devfreq/governor.h
    +++ b/drivers/devfreq/governor.h
    @@ -89,6 +89,8 @@ int devm_devfreq_add_governor(struct device *dev,

    int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
    int devfreq_update_target(struct devfreq *devfreq, unsigned long freq);
    +void devfreq_get_freq_range(struct devfreq *devfreq, unsigned long *min_freq,
    + unsigned long *max_freq);

    static inline int devfreq_update_stats(struct devfreq *df)
    {
    --
    2.17.1
    \
     
     \ /
      Last update: 2022-05-17 10:57    [W:2.324 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site