]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
OPP: The level field is always of unsigned int type
authorViresh Kumar <viresh.kumar@linaro.org>
Tue, 19 Dec 2023 06:02:39 +0000 (11:32 +0530)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Mon, 5 Feb 2024 20:16:46 +0000 (20:16 +0000)
[ Upstream commit ba367479c7ad0b870461024cd5ae7a1ea6e1e3db ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/opp/core.c
include/linux/pm_opp.h

index b2971dd95335849c36b5db76b270a0fcaf78b2ad..f1e54a3a15c717221456b5cad6bfd7d91d172660 100644 (file)
@@ -832,9 +832,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);
 
index ccd97bcef26943428a8683f9d9b2752c5171eedf..18a102174c4f26622759fc2a7da89a00013f60ef 100644 (file)
@@ -157,7 +157,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);
@@ -324,7 +324,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);
 }