On 05/11/2017 04:20 AM, Tom Rini wrote: > Inside of > max77686_buck_volt2hex/max77686_buck_hex2volt/max77686_ldo_volt2hex we > check that the value we calculate is >= 0 however we declare 'hex' as > unsigned int making these always true. Mark these as 'int' instead. We > also move hex_max to int as they are constants that are 0x3f/0xff. > Given that the above functions are marked as returning an int, make the > variables we assign their return value to also be int to be able to > catch the error condition now. Reported by clang-3.8. > > Cc: Jaehoon Chung <jh80.ch...@samsung.com> > Signed-off-by: Tom Rini <tr...@konsulko.com>
Applied to u-boot-mmc for pmic. Thanks. > --- > drivers/power/regulator/max77686.c | 16 ++++++++-------- > 1 file changed, 8 insertions(+), 8 deletions(-) > > diff --git a/drivers/power/regulator/max77686.c > b/drivers/power/regulator/max77686.c > index 7479af734ade..5e5815f39789 100644 > --- a/drivers/power/regulator/max77686.c > +++ b/drivers/power/regulator/max77686.c > @@ -71,8 +71,8 @@ static const char max77686_buck_out[] = { > > static int max77686_buck_volt2hex(int buck, int uV) > { > - unsigned int hex = 0; > - unsigned int hex_max = 0; > + int hex = 0; > + int hex_max = 0; > > switch (buck) { > case 2: > @@ -105,7 +105,7 @@ static int max77686_buck_volt2hex(int buck, int uV) > static int max77686_buck_hex2volt(int buck, int hex) > { > unsigned uV = 0; > - unsigned int hex_max = 0; > + int hex_max = 0; > > if (hex < 0) > goto bad_hex; > @@ -140,7 +140,7 @@ bad_hex: > > static int max77686_ldo_volt2hex(int ldo, int uV) > { > - unsigned int hex = 0; > + int hex = 0; > > switch (ldo) { > case 1: > @@ -319,9 +319,9 @@ static int max77686_ldo_modes(int ldo, struct > dm_regulator_mode **modesp, > > static int max77686_ldo_val(struct udevice *dev, int op, int *uV) > { > - unsigned int hex, adr; > + unsigned int adr; > unsigned char val; > - int ldo, ret; > + int hex, ldo, ret; > > if (op == PMIC_OP_GET) > *uV = 0; > @@ -360,9 +360,9 @@ static int max77686_ldo_val(struct udevice *dev, int op, > int *uV) > > static int max77686_buck_val(struct udevice *dev, int op, int *uV) > { > - unsigned int hex, mask, adr; > + unsigned int mask, adr; > unsigned char val; > - int buck, ret; > + int hex, buck, ret; > > buck = dev->driver_data; > if (buck < 1 || buck > MAX77686_BUCK_NUM) { > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot