Skip to content

Commit ba36747

Browse files
committed
OPP: The level field is always of unsigned int type
By mistake, dev_pm_opp_find_level_floor() used the level parameter as unsigned long instead of unsigned int. Fix it. Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
1 parent 19cc8b1 commit ba36747

File tree

2 files changed

+9
-4
lines changed

2 files changed

+9
-4
lines changed

drivers/opp/core.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -842,9 +842,14 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_find_level_ceil);
842842
* use.
843843
*/
844844
struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
845-
unsigned long *level)
845+
unsigned int *level)
846846
{
847-
return _find_key_floor(dev, level, 0, true, _read_level, NULL);
847+
unsigned long temp = *level;
848+
struct dev_pm_opp *opp;
849+
850+
opp = _find_key_floor(dev, &temp, 0, true, _read_level, NULL);
851+
*level = temp;
852+
return opp;
848853
}
849854
EXPORT_SYMBOL_GPL(dev_pm_opp_find_level_floor);
850855

include/linux/pm_opp.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -163,7 +163,7 @@ struct dev_pm_opp *dev_pm_opp_find_level_ceil(struct device *dev,
163163
unsigned int *level);
164164

165165
struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
166-
unsigned long *level);
166+
unsigned int *level);
167167

168168
struct dev_pm_opp *dev_pm_opp_find_bw_ceil(struct device *dev,
169169
unsigned int *bw, int index);
@@ -330,7 +330,7 @@ static inline struct dev_pm_opp *dev_pm_opp_find_level_ceil(struct device *dev,
330330
}
331331

332332
static inline struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
333-
unsigned long *level)
333+
unsigned int *level)
334334
{
335335
return ERR_PTR(-EOPNOTSUPP);
336336
}

0 commit comments

Comments
 (0)