diff --git a/drivers/video/fbdev/msm/mdss_io_util.c b/drivers/video/fbdev/msm/mdss_io_util.c index 0baa3af79fa6..778b48591b86 100644 --- a/drivers/video/fbdev/msm/mdss_io_util.c +++ b/drivers/video/fbdev/msm/mdss_io_util.c @@ -224,7 +224,8 @@ int msm_dss_enable_vreg(struct dss_vreg *in_vreg, int num_vreg, int enable) } need_sleep = !regulator_is_enabled(in_vreg[i].vreg); if (in_vreg[i].pre_on_sleep && need_sleep) - msleep(in_vreg[i].pre_on_sleep); + usleep_range(in_vreg[i].pre_on_sleep, + in_vreg[i].pre_on_sleep); rc = regulator_set_load(in_vreg[i].vreg, in_vreg[i].enable_load); if (rc < 0) { @@ -235,7 +236,8 @@ int msm_dss_enable_vreg(struct dss_vreg *in_vreg, int num_vreg, int enable) } rc = regulator_enable(in_vreg[i].vreg); if (in_vreg[i].post_on_sleep && need_sleep) - msleep(in_vreg[i].post_on_sleep); + usleep_range(in_vreg[i].post_on_sleep, + in_vreg[i].post_on_sleep); if (rc < 0) { DEV_ERR("%pS->%s: %s enable failed\n", __builtin_return_address(0), __func__, @@ -246,12 +248,14 @@ int msm_dss_enable_vreg(struct dss_vreg *in_vreg, int num_vreg, int enable) } else { for (i = num_vreg-1; i >= 0; i--) { if (in_vreg[i].pre_off_sleep) - msleep(in_vreg[i].pre_off_sleep); + usleep_range(in_vreg[i].pre_off_sleep, + in_vreg[i].pre_off_sleep); regulator_set_load(in_vreg[i].vreg, in_vreg[i].disable_load); regulator_disable(in_vreg[i].vreg); if (in_vreg[i].post_off_sleep) - msleep(in_vreg[i].post_off_sleep); + usleep_range(in_vreg[i].post_off_sleep, + in_vreg[i].post_off_sleep); } } return rc; @@ -262,12 +266,14 @@ disable_vreg: vreg_set_opt_mode_fail: for (i--; i >= 0; i--) { if (in_vreg[i].pre_off_sleep) - msleep(in_vreg[i].pre_off_sleep); + usleep_range(in_vreg[i].pre_off_sleep, + in_vreg[i].pre_off_sleep); regulator_set_load(in_vreg[i].vreg, in_vreg[i].disable_load); regulator_disable(in_vreg[i].vreg); if (in_vreg[i].post_off_sleep) - msleep(in_vreg[i].post_off_sleep); + usleep_range(in_vreg[i].post_off_sleep, + in_vreg[i].post_off_sleep); } return rc;