summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/spi/mvebu_spi.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/spi/mvebu_spi.c b/drivers/spi/mvebu_spi.c
index 35a0c002aa..6921cb8cd7 100644
--- a/drivers/spi/mvebu_spi.c
+++ b/drivers/spi/mvebu_spi.c
@@ -233,13 +233,11 @@ static int mvebu_spi_setup(struct spi_device *spi)
static inline int mvebu_spi_wait_for_read_ready(struct mvebu_spi *p)
{
- int timeout = 100;
- while ((readl(p->base + SPI_IF_CTRL) & IF_READ_READY) == 0 &&
- timeout--)
- udelay(1);
- if (timeout < 0)
- return -EIO;
- return 0;
+ int ret;
+
+ ret = wait_on_timeout(100 * USECOND,
+ readl(p->base + SPI_IF_CTRL) & IF_READ_READY);
+ return ret;
}
static int mvebu_spi_do_transfer(struct spi_device *spi,