diff options
author | Michał Mirosław <mirq-linux@rere.qmqm.pl> | 2020-02-11 11:35:04 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2020-02-11 11:15:29 -0800 |
commit | d2bdc492916046da4abe07ec2373bd962f2224e9 (patch) | |
tree | da3e777822d9e4e98fe48d3e2210bf41c13483ea /drivers | |
parent | 40a97d55a6b7f52df0a4ff59b860a4d4c2a0283a (diff) |
staging: wfx: use more power-efficient sleep for reset
Replace udelay() with usleep_range() as all uses are in a sleepable context.
Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Link: https://lore.kernel.org/r/59e1e4e5bd80c1879ef36eaa59916e47005dbb04.1581416843.git.mirq-linux@rere.qmqm.pl
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/staging/wfx/bh.c | 2 | ||||
-rw-r--r-- | drivers/staging/wfx/bus_spi.c | 4 | ||||
-rw-r--r-- | drivers/staging/wfx/hwio.c | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/drivers/staging/wfx/bh.c b/drivers/staging/wfx/bh.c index c6319ab7e71a..9fcab00a3733 100644 --- a/drivers/staging/wfx/bh.c +++ b/drivers/staging/wfx/bh.c @@ -26,7 +26,7 @@ static void device_wakeup(struct wfx_dev *wdev) gpiod_set_value_cansleep(wdev->pdata.gpio_wakeup, 1); if (wfx_api_older_than(wdev, 1, 4)) { if (!completion_done(&wdev->hif.ctrl_ready)) - udelay(2000); + usleep_range(2000, 2500); } else { // completion.h does not provide any function to wait // completion without consume it (a kind of diff --git a/drivers/staging/wfx/bus_spi.c b/drivers/staging/wfx/bus_spi.c index e3cd12592662..61e99b09decb 100644 --- a/drivers/staging/wfx/bus_spi.c +++ b/drivers/staging/wfx/bus_spi.c @@ -211,9 +211,9 @@ static int wfx_spi_probe(struct spi_device *func) if (spi_get_device_id(func)->driver_data & WFX_RESET_INVERTED) gpiod_toggle_active_low(bus->gpio_reset); gpiod_set_value_cansleep(bus->gpio_reset, 1); - udelay(100); + usleep_range(100, 150); gpiod_set_value_cansleep(bus->gpio_reset, 0); - udelay(2000); + usleep_range(2000, 2500); } INIT_WORK(&bus->request_rx, wfx_spi_request_rx); diff --git a/drivers/staging/wfx/hwio.c b/drivers/staging/wfx/hwio.c index 47e04c59ed93..d3a141d95a0e 100644 --- a/drivers/staging/wfx/hwio.c +++ b/drivers/staging/wfx/hwio.c @@ -142,7 +142,7 @@ static int indirect_read(struct wfx_dev *wdev, int reg, u32 addr, void *buf, goto err; if (!(cfg & prefetch)) break; - udelay(200); + usleep_range(200, 250); } if (i == 20) { ret = -ETIMEDOUT; |