summaryrefslogtreecommitdiff
path: root/drivers/staging/iio/adc/ad799x_ring.c
diff options
context:
space:
mode:
authorMichael Hennerich <michael.hennerich@analog.com>2011-05-18 13:41:52 (GMT)
committerGreg Kroah-Hartman <gregkh@suse.de>2011-05-19 23:14:56 (GMT)
commitd22fd9c5534b39edd48b792a018dcd9b46db276e (patch)
tree618b377d996e8b1d8e57e9f65a8114724ccd3b35 /drivers/staging/iio/adc/ad799x_ring.c
parentf39e086adcbdb953922fb2856d2745642432fca9 (diff)
downloadlinux-fsl-qoriq-d22fd9c5534b39edd48b792a018dcd9b46db276e.tar.xz
staging:iio:adc:ad799x: Convert to new channel registration method.
Convert to new channel registration method Update copyright header Add missing call to iio_trigger_notify_done() V2: IIO_CHAN macro updates Signed-off-by: Michael Hennerich <michael.hennerich@analog.com> Acked-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/adc/ad799x_ring.c')
-rw-r--r--drivers/staging/iio/adc/ad799x_ring.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/drivers/staging/iio/adc/ad799x_ring.c b/drivers/staging/iio/adc/ad799x_ring.c
index f0a0aae..488cbc4 100644
--- a/drivers/staging/iio/adc/ad799x_ring.c
+++ b/drivers/staging/iio/adc/ad799x_ring.c
@@ -80,7 +80,7 @@ static int ad799x_ring_preenable(struct iio_dev *indio_dev)
*/
if (st->id == ad7997 || st->id == ad7998)
- ad799x_set_scan_mode(st, ring->scan_mask);
+ ad7997_8_set_scan_mode(st, ring->scan_mask);
st->d_size = ring->scan_count * 2;
@@ -119,7 +119,7 @@ static irqreturn_t ad799x_trigger_handler(int irq, void *p)
rxbuf = kmalloc(st->d_size, GFP_KERNEL);
if (rxbuf == NULL)
- return -ENOMEM;
+ goto out;
switch (st->id) {
case ad7991:
@@ -157,6 +157,9 @@ done:
kfree(rxbuf);
if (b_sent < 0)
return b_sent;
+out:
+ iio_trigger_notify_done(indio_dev->trig);
+
return IRQ_HANDLED;
}
@@ -195,8 +198,6 @@ int ad799x_register_ring_funcs_and_init(struct iio_dev *indio_dev)
indio_dev->ring->predisable = &iio_triggered_ring_predisable;
indio_dev->ring->scan_timestamp = true;
- indio_dev->ring->scan_el_attrs = st->chip_info->scan_attrs;
-
/* Flag that polled ring buffering is possible */
indio_dev->modes |= INDIO_RING_TRIGGERED;
return 0;