]> git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/commitdiff
staging:iio:adc:ad799x stop reading from buffer for sysfs accesses
authorJonathan Cameron <jic23@kernel.org>
Mon, 5 Dec 2011 22:18:24 +0000 (22:18 +0000)
committerGreg Kroah-Hartman <gregkh@suse.de>
Thu, 8 Dec 2011 20:11:11 +0000 (12:11 -0800)
No known use case and makes in kernel interface work more complex.

Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Acked-by: Lars-Peter Clausen <lars@metafoo.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/iio/adc/ad799x.h
drivers/staging/iio/adc/ad799x_core.c
drivers/staging/iio/adc/ad799x_ring.c

index eda01d5bab7ded7b6a11aa741622da29c0f09acc..356f690a76fb7cc0493237fbb6633b83b7fd09af 100644 (file)
@@ -124,15 +124,9 @@ struct ad799x_platform_data {
 int ad7997_8_set_scan_mode(struct ad799x_state *st, unsigned mask);
 
 #ifdef CONFIG_AD799X_RING_BUFFER
-int ad799x_single_channel_from_ring(struct iio_dev *indio_dev, int channum);
 int ad799x_register_ring_funcs_and_init(struct iio_dev *indio_dev);
 void ad799x_ring_cleanup(struct iio_dev *indio_dev);
 #else /* CONFIG_AD799X_RING_BUFFER */
-int ad799x_single_channel_from_ring(struct iio_dev *indio_dev, int channum)
-{
-       return -EINVAL;
-}
-
 
 static inline int
 ad799x_register_ring_funcs_and_init(struct iio_dev *indio_dev)
index 5bedb19cc72b9b4f7579e54b5c87b238cc2065d4..815e6b9a8d4beab58b1037b26e8667785c0e0f16 100644 (file)
@@ -151,8 +151,7 @@ static int ad799x_read_raw(struct iio_dev *indio_dev,
        case 0:
                mutex_lock(&indio_dev->mlock);
                if (iio_buffer_enabled(indio_dev))
-                       ret = ad799x_single_channel_from_ring(indio_dev,
-                                                             chan->scan_index);
+                       ret = -EBUSY;
                else
                        ret = ad799x_scan_direct(st, chan->scan_index);
                mutex_unlock(&indio_dev->mlock);
index 5841c3cf39dfc983b0f44cb25b7c045b83b2de13..5dded9e7820ae96aef6b723ac2cc89a618538587 100644 (file)
 
 #include "ad799x.h"
 
-int ad799x_single_channel_from_ring(struct iio_dev *indio_dev, int channum)
-{
-       struct iio_buffer *ring = indio_dev->buffer;
-       int count = 0, ret;
-       u16 *ring_data;
-
-       if (!(test_bit(channum, ring->scan_mask))) {
-               ret = -EBUSY;
-               goto error_ret;
-       }
-
-       ring_data = kmalloc(ring->access->get_bytes_per_datum(ring),
-                           GFP_KERNEL);
-       if (ring_data == NULL) {
-               ret = -ENOMEM;
-               goto error_ret;
-       }
-       ret = ring->access->read_last(ring, (u8 *) ring_data);
-       if (ret)
-               goto error_free_ring_data;
-       /* Need a count of channels prior to this one */
-       count = bitmap_weight(ring->scan_mask, channum);
-       ret = be16_to_cpu(ring_data[count]);
-
-error_free_ring_data:
-       kfree(ring_data);
-error_ret:
-       return ret;
-}
-
 /**
  * ad799x_ring_preenable() setup the parameters of the ring before enabling
  *