aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/regulator/ad5398.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/regulator/ad5398.c')
-rw-r--r--drivers/regulator/ad5398.c9
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/regulator/ad5398.c b/drivers/regulator/ad5398.c
index 46d05f38baf8..f123f7e3b752 100644
--- a/drivers/regulator/ad5398.c
+++ b/drivers/regulator/ad5398.c
@@ -89,9 +89,12 @@ static int ad5398_set_current_limit(struct regulator_dev *rdev, int min_uA, int
89 unsigned short data; 89 unsigned short data;
90 int ret; 90 int ret;
91 91
92 if (min_uA > chip->max_uA || min_uA < chip->min_uA) 92 if (min_uA < chip->min_uA)
93 return -EINVAL; 93 min_uA = chip->min_uA;
94 if (max_uA > chip->max_uA || max_uA < chip->min_uA) 94 if (max_uA > chip->max_uA)
95 max_uA = chip->max_uA;
96
97 if (min_uA > chip->max_uA || max_uA < chip->min_uA)
95 return -EINVAL; 98 return -EINVAL;
96 99
97 selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level, 100 selector = DIV_ROUND_UP((min_uA - chip->min_uA) * chip->current_level,