[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <1370950268-7224-23-git-send-email-bigeasy@linutronix.de>
Date: Tue, 11 Jun 2013 13:31:08 +0200
From: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
To: Lee Jones <lee.jones@...aro.org>,
Samuel Ortiz <sameo@...ux.intel.com>
Cc: BenoƮt Cousson <b-cousson@...com>,
Tony Lindgren <tony@...mide.com>,
Jonathan Cameron <jic23@....ac.uk>,
Dmitry Torokhov <dmitry.torokhov@...il.com>,
Felipe Balbi <balbi@...com>, linux-kernel@...r.kernel.org,
linux-omap@...r.kernel.org, linux-iio@...r.kernel.org,
linux-input@...r.kernel.org,
Sebastian Andrzej Siewior <bigeasy@...utronix.de>
Subject: [PATCH 22/22] iio/ti_am335x_adc: check if we found the value
Usually we get all the values we wanted but it is possible, that te ADC
unit is busy performing the conversation for the HW events. In that case
-EBUSY is returned and the user may re-call the function.
Acked-by: Jonathan Cameron <jic23@...nel.org>
Signed-off-by: Sebastian Andrzej Siewior <bigeasy@...utronix.de>
---
drivers/iio/adc/ti_am335x_adc.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/drivers/iio/adc/ti_am335x_adc.c b/drivers/iio/adc/ti_am335x_adc.c
index 8ffe52d..4427e8e 100644
--- a/drivers/iio/adc/ti_am335x_adc.c
+++ b/drivers/iio/adc/ti_am335x_adc.c
@@ -145,6 +145,7 @@ static int tiadc_read_raw(struct iio_dev *indio_dev,
int i;
unsigned int fifo1count, read;
u32 step = UINT_MAX;
+ bool found = false;
/*
* When the sub-system is first enabled,
@@ -169,11 +170,14 @@ static int tiadc_read_raw(struct iio_dev *indio_dev,
fifo1count = tiadc_readl(adc_dev, REG_FIFO1CNT);
for (i = 0; i < fifo1count; i++) {
read = tiadc_readl(adc_dev, REG_FIFO1);
- if (read >> 16 == step)
+ if (read >> 16 == step) {
*val = read & 0xfff;
+ found = true;
+ }
}
am335x_tsc_se_update(adc_dev->mfd_tscadc);
-
+ if (found == false)
+ return -EBUSY;
return IIO_VAL_INT;
}
--
1.7.10.4
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists