Skip to content

Commit c8f1e50

Browse files
pH5Liam Girdwood
authored andcommitted
regulator/max1586: fix V3 gain calculation integer overflow
On Thu, May 28, 2009 at 10:59 AM, Mark Brown <[email protected]> wrote: > On Thu, May 28, 2009 at 07:15:16AM +0200, Philipp Zabel wrote: >> The V3 regulator can be configured with an external resistor >> connected to the feedback pin (R24 in the data sheet) to >> increase the voltage range. >> >> For example, hx4700 has R24 = 3.32 kOhm to achieve a maximum >> V3 voltage of 1.55 V which is needed for 624 MHz CPU frequency. >> >> Signed-off-by: Philipp Zabel <[email protected]> > > Looks good. > > Acked-by: Mark Brown <[email protected]> Thanks, but it turns out I hit a 32 bit integer overflow in the gain calculation. I'd like to mend that with the following patch. Now max_uV could be increased up to 4.294 V, enough to charge LiPo cells. Signed-off-by: Philipp Zabel <[email protected]> Acked-by: Robert Jarzmik <[email protected]> Signed-off-by: Liam Girdwood <[email protected]>
1 parent b110a8f commit c8f1e50

File tree

1 file changed

+4
-4
lines changed

1 file changed

+4
-4
lines changed

drivers/regulator/max1586.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,8 +40,8 @@ struct max1586_data {
4040
struct i2c_client *client;
4141

4242
/* min/max V3 voltage */
43-
int min_uV;
44-
int max_uV;
43+
unsigned int min_uV;
44+
unsigned int max_uV;
4545

4646
struct regulator_dev *rdev[0];
4747
};
@@ -199,8 +199,8 @@ static int max1586_pmic_probe(struct i2c_client *client,
199199
ret = -EINVAL;
200200
goto out_unmap;
201201
}
202-
max1586->min_uV = MAX1586_V3_MIN_UV * pdata->v3_gain / 1000000;
203-
max1586->max_uV = MAX1586_V3_MAX_UV * pdata->v3_gain / 1000000;
202+
max1586->min_uV = MAX1586_V3_MIN_UV / 1000 * pdata->v3_gain / 1000;
203+
max1586->max_uV = MAX1586_V3_MAX_UV / 1000 * pdata->v3_gain / 1000;
204204

205205
rdev = max1586->rdev;
206206
for (i = 0; i < pdata->num_subdevs && i <= MAX1586_V6; i++) {

0 commit comments

Comments
 (0)