summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Rini <trini@konsulko.com>2017-05-10 15:20:17 -0400
committerJaehoon Chung <jh80.chung@samsung.com>2017-05-29 17:28:52 +0900
commitaae78fa774bf5da8d5ac0f80773283196bcb0e24 (patch)
tree391dcf4f7d9803cbe94fc8775b0c6aeba933ac98
parent7ca0d3dde177fa4245f4a6174c577a58c8a3051d (diff)
drivers/power/regulator/max77686.c: Fix comparisons of unsigned expressions
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.chung@samsung.com> Signed-off-by: Tom Rini <trini@konsulko.com>
-rw-r--r--drivers/power/regulator/max77686.c16
1 files changed, 8 insertions, 8 deletions
diff --git a/drivers/power/regulator/max77686.c b/drivers/power/regulator/max77686.c
index 7479af734a..5e5815f397 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) {