Skip to content

Commit 713472e

Browse files
committed
PM / devfreq: Export devfreq_get_freq_range symbol within devfreq
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>
1 parent 2e69142 commit 713472e

2 files changed

Lines changed: 14 additions & 8 deletions

File tree

drivers/devfreq/devfreq.c

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -112,16 +112,16 @@ static unsigned long find_available_max_freq(struct devfreq *devfreq)
112112
}
113113

114114
/**
115-
* get_freq_range() - Get the current freq range
115+
* devfreq_get_freq_range() - Get the current freq range
116116
* @devfreq: the devfreq instance
117117
* @min_freq: the min frequency
118118
* @max_freq: the max frequency
119119
*
120120
* This takes into consideration all constraints.
121121
*/
122-
static void get_freq_range(struct devfreq *devfreq,
123-
unsigned long *min_freq,
124-
unsigned long *max_freq)
122+
void devfreq_get_freq_range(struct devfreq *devfreq,
123+
unsigned long *min_freq,
124+
unsigned long *max_freq)
125125
{
126126
unsigned long *freq_table = devfreq->profile->freq_table;
127127
s32 qos_min_freq, qos_max_freq;
@@ -158,6 +158,7 @@ static void get_freq_range(struct devfreq *devfreq,
158158
if (*min_freq > *max_freq)
159159
*min_freq = *max_freq;
160160
}
161+
EXPORT_SYMBOL(devfreq_get_freq_range);
161162

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

423424
if (freq < min_freq) {
424425
freq = min_freq;
@@ -785,6 +786,7 @@ struct devfreq *devfreq_add_device(struct device *dev,
785786
{
786787
struct devfreq *devfreq;
787788
struct devfreq_governor *governor;
789+
unsigned long min_freq, max_freq;
788790
int err = 0;
789791

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

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

15891593
mutex_lock(&df->lock);
1590-
get_freq_range(df, &min_freq, &max_freq);
1594+
devfreq_get_freq_range(df, &min_freq, &max_freq);
15911595
mutex_unlock(&df->lock);
15921596

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

16431647
mutex_lock(&df->lock);
1644-
get_freq_range(df, &min_freq, &max_freq);
1648+
devfreq_get_freq_range(df, &min_freq, &max_freq);
16451649
mutex_unlock(&df->lock);
16461650

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

19561960
mutex_lock(&devfreq->lock);
19571961
cur_freq = devfreq->previous_freq;
1958-
get_freq_range(devfreq, &min_freq, &max_freq);
1962+
devfreq_get_freq_range(devfreq, &min_freq, &max_freq);
19591963
timer = devfreq->profile->timer;
19601964

19611965
if (IS_SUPPORTED_ATTR(devfreq->governor->attrs, POLLING_INTERVAL))

drivers/devfreq/governor.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,8 @@ int devm_devfreq_add_governor(struct device *dev,
8989

9090
int devfreq_update_status(struct devfreq *devfreq, unsigned long freq);
9191
int devfreq_update_target(struct devfreq *devfreq, unsigned long freq);
92+
void devfreq_get_freq_range(struct devfreq *devfreq, unsigned long *min_freq,
93+
unsigned long *max_freq);
9294

9395
static inline int devfreq_update_stats(struct devfreq *df)
9496
{

0 commit comments

Comments
 (0)