Skip to content

Commit

Permalink
OPP: The level field is always of unsigned int type
Browse files Browse the repository at this point in the history
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 <[email protected]>
  • Loading branch information
vireshk committed Dec 27, 2023
1 parent 19cc8b1 commit ba36747
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 4 deletions.
9 changes: 7 additions & 2 deletions drivers/opp/core.c
Original file line number Diff line number Diff line change
Expand Up @@ -842,9 +842,14 @@ EXPORT_SYMBOL_GPL(dev_pm_opp_find_level_ceil);
* use.
*/
struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
unsigned long *level)
unsigned int *level)
{
return _find_key_floor(dev, level, 0, true, _read_level, NULL);
unsigned long temp = *level;
struct dev_pm_opp *opp;

opp = _find_key_floor(dev, &temp, 0, true, _read_level, NULL);
*level = temp;
return opp;
}
EXPORT_SYMBOL_GPL(dev_pm_opp_find_level_floor);

Expand Down
4 changes: 2 additions & 2 deletions include/linux/pm_opp.h
Original file line number Diff line number Diff line change
Expand Up @@ -163,7 +163,7 @@ struct dev_pm_opp *dev_pm_opp_find_level_ceil(struct device *dev,
unsigned int *level);

struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
unsigned long *level);
unsigned int *level);

struct dev_pm_opp *dev_pm_opp_find_bw_ceil(struct device *dev,
unsigned int *bw, int index);
Expand Down Expand Up @@ -330,7 +330,7 @@ static inline struct dev_pm_opp *dev_pm_opp_find_level_ceil(struct device *dev,
}

static inline struct dev_pm_opp *dev_pm_opp_find_level_floor(struct device *dev,
unsigned long *level)
unsigned int *level)
{
return ERR_PTR(-EOPNOTSUPP);
}
Expand Down

0 comments on commit ba36747

Please sign in to comment.