mfd: wm831x: Remove redundant forever while loop

Current code executes only once despite the while loop, so remove the
loop. Also msleep(1) will likely result in a larger sleep, so increase
its value for clarity while keeping the same behaviour.

Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Reviewed-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20240123154259.81258-1-mstrozek@opensource.cirrus.com
Signed-off-by: Lee Jones <lee@kernel.org>
This commit is contained in:
Maciej Strozek
2024-01-23 15:42:59 +00:00
committed by Lee Jones
parent 944e823d73
commit efe4c7908e

View File

@ -152,7 +152,7 @@ static irqreturn_t wm831x_auxadc_irq(int irq, void *irq_data)
static int wm831x_auxadc_read_polled(struct wm831x *wm831x, static int wm831x_auxadc_read_polled(struct wm831x *wm831x,
enum wm831x_auxadc input) enum wm831x_auxadc input)
{ {
int ret, src, timeout; int ret, src;
mutex_lock(&wm831x->auxadc_lock); mutex_lock(&wm831x->auxadc_lock);
@ -179,32 +179,25 @@ static int wm831x_auxadc_read_polled(struct wm831x *wm831x,
goto disable; goto disable;
} }
/* If we're not using interrupts then poll the /* If we're not using interrupts then read the interrupt status register */
* interrupt status register */ msleep(20);
timeout = 5;
while (timeout) {
msleep(1);
ret = wm831x_reg_read(wm831x, ret = wm831x_reg_read(wm831x, WM831X_INTERRUPT_STATUS_1);
WM831X_INTERRUPT_STATUS_1); if (ret < 0) {
if (ret < 0) { dev_err(wm831x->dev,
dev_err(wm831x->dev, "ISR 1 read failed: %d\n", ret);
"ISR 1 read failed: %d\n", ret); goto disable;
goto disable; }
}
/* Did it complete? */ /* Did it complete? */
if (ret & WM831X_AUXADC_DATA_EINT) { if (ret & WM831X_AUXADC_DATA_EINT) {
wm831x_reg_write(wm831x, wm831x_reg_write(wm831x, WM831X_INTERRUPT_STATUS_1,
WM831X_INTERRUPT_STATUS_1, WM831X_AUXADC_DATA_EINT);
WM831X_AUXADC_DATA_EINT); } else {
break; dev_err(wm831x->dev,
} else { "AUXADC conversion timeout\n");
dev_err(wm831x->dev, ret = -EBUSY;
"AUXADC conversion timeout\n"); goto disable;
ret = -EBUSY;
goto disable;
}
} }
ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA); ret = wm831x_reg_read(wm831x, WM831X_AUXADC_DATA);