This driver in some cases can busy wait for upwards of 100 ms. Since the
kernel at this point is not running in atomic context, and is running in
process context, we can safely use msleep() instead. This patch changes
the two occurrences of mdelay() to msleep().

Signed-off-by: Brian Masney <masn...@onstation.org>
---
 drivers/staging/iio/light/isl29028.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/staging/iio/light/isl29028.c 
b/drivers/staging/iio/light/isl29028.c
index 6bb6d37..8dc24c94 100644
--- a/drivers/staging/iio/light/isl29028.c
+++ b/drivers/staging/iio/light/isl29028.c
@@ -121,7 +121,7 @@ static int isl29028_enable_proximity(struct isl29028_chip 
*chip)
                return ret;
 
        /* Wait for conversion to be complete for first sample */
-       mdelay(DIV_ROUND_UP(1000, chip->prox_sampling));
+       msleep(DIV_ROUND_UP(1000, chip->prox_sampling));
 
        return 0;
 }
@@ -192,7 +192,7 @@ static int isl29028_set_als_ir_mode(struct isl29028_chip 
*chip,
                return ret;
 
        /* Need to wait for conversion time if ALS/IR mode enabled */
-       mdelay(ISL29028_CONV_TIME_MS);
+       msleep(ISL29028_CONV_TIME_MS);
 
        chip->als_ir_mode = mode;
 
-- 
2.9.3

_______________________________________________
devel mailing list
de...@linuxdriverproject.org
http://driverdev.linuxdriverproject.org/mailman/listinfo/driverdev-devel

Reply via email to