Skip to content

Commit

Permalink
mfd: arizona-core: msleep() is unreliable for anything <20ms use usle…
Browse files Browse the repository at this point in the history
…ep_range() instead

WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+               msleep(1);

WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+                       msleep(5);

WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+               msleep(1);

WARNING: msleep < 20ms can sleep for up to 20ms; see Documentation/timers/timers-howto.txt
+               msleep(1);

total: 0 errors, 4 warnings, 1407 lines checked

Cc: patches@opensource.wolfsonmicro.com
Acked-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
  • Loading branch information
Lee Jones committed Jan 14, 2016
1 parent 3103d44 commit b79a980
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions drivers/mfd/arizona-core.c
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,7 @@ static int arizona_poll_reg(struct arizona *arizona,
if ((val & mask) == target)
return 0;

msleep(1);
usleep_range(1000, 5000);
}

dev_err(arizona->dev, "Polling reg %u timed out: %x\n", reg, val);
Expand Down Expand Up @@ -279,14 +279,14 @@ static void arizona_disable_reset(struct arizona *arizona)
case WM5110:
case WM8280:
/* Meet requirements for minimum reset duration */
msleep(5);
usleep_range(5000, 10000);
break;
default:
break;
}

gpio_set_value_cansleep(arizona->pdata.reset, 1);
msleep(1);
usleep_range(1000, 5000);
}
}

Expand Down Expand Up @@ -1132,7 +1132,7 @@ int arizona_dev_init(struct arizona *arizona)
goto err_reset;
}

msleep(1);
usleep_range(1000, 5000);
}

/* Ensure device startup is complete */
Expand Down

0 comments on commit b79a980

Please sign in to comment.