diff options
Diffstat (limited to 'drivers/staging')
24 files changed, 42 insertions, 190 deletions
diff --git a/drivers/staging/iio/accel/adis16209.h b/drivers/staging/iio/accel/adis16209.h index c1d7b471e44..92daf6fad78 100644 --- a/drivers/staging/iio/accel/adis16209.h +++ b/drivers/staging/iio/accel/adis16209.h | |||
@@ -147,8 +147,6 @@ ssize_t adis16209_read_data_from_ring(struct device *dev, | |||
147 | int adis16209_configure_ring(struct iio_dev *indio_dev); | 147 | int adis16209_configure_ring(struct iio_dev *indio_dev); |
148 | void adis16209_unconfigure_ring(struct iio_dev *indio_dev); | 148 | void adis16209_unconfigure_ring(struct iio_dev *indio_dev); |
149 | 149 | ||
150 | int adis16209_initialize_ring(struct iio_ring_buffer *ring); | ||
151 | void adis16209_uninitialize_ring(struct iio_ring_buffer *ring); | ||
152 | #else /* CONFIG_IIO_RING_BUFFER */ | 150 | #else /* CONFIG_IIO_RING_BUFFER */ |
153 | 151 | ||
154 | static inline void adis16209_remove_trigger(struct iio_dev *indio_dev) | 152 | static inline void adis16209_remove_trigger(struct iio_dev *indio_dev) |
@@ -177,14 +175,5 @@ static inline void adis16209_unconfigure_ring(struct iio_dev *indio_dev) | |||
177 | { | 175 | { |
178 | } | 176 | } |
179 | 177 | ||
180 | static inline int adis16209_initialize_ring(struct iio_ring_buffer *ring) | ||
181 | { | ||
182 | return 0; | ||
183 | } | ||
184 | |||
185 | static inline void adis16209_uninitialize_ring(struct iio_ring_buffer *ring) | ||
186 | { | ||
187 | } | ||
188 | |||
189 | #endif /* CONFIG_IIO_RING_BUFFER */ | 178 | #endif /* CONFIG_IIO_RING_BUFFER */ |
190 | #endif /* SPI_ADIS16209_H_ */ | 179 | #endif /* SPI_ADIS16209_H_ */ |
diff --git a/drivers/staging/iio/accel/adis16209_core.c b/drivers/staging/iio/accel/adis16209_core.c index c696160fc2a..6c6923f2eaa 100644 --- a/drivers/staging/iio/accel/adis16209_core.c +++ b/drivers/staging/iio/accel/adis16209_core.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "../iio.h" | 21 | #include "../iio.h" |
22 | #include "../sysfs.h" | 22 | #include "../sysfs.h" |
23 | #include "../ring_generic.h" | ||
23 | #include "accel.h" | 24 | #include "accel.h" |
24 | #include "inclinometer.h" | 25 | #include "inclinometer.h" |
25 | #include "../gyro/gyro.h" | 26 | #include "../gyro/gyro.h" |
@@ -520,7 +521,7 @@ static int __devinit adis16209_probe(struct spi_device *spi) | |||
520 | goto error_unreg_ring_funcs; | 521 | goto error_unreg_ring_funcs; |
521 | regdone = 1; | 522 | regdone = 1; |
522 | 523 | ||
523 | ret = adis16209_initialize_ring(st->indio_dev->ring); | 524 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
524 | if (ret) { | 525 | if (ret) { |
525 | printk(KERN_ERR "failed to initialize the ring\n"); | 526 | printk(KERN_ERR "failed to initialize the ring\n"); |
526 | goto error_unreg_ring_funcs; | 527 | goto error_unreg_ring_funcs; |
@@ -552,7 +553,7 @@ error_unregister_line: | |||
552 | if (spi->irq) | 553 | if (spi->irq) |
553 | iio_unregister_interrupt_line(st->indio_dev, 0); | 554 | iio_unregister_interrupt_line(st->indio_dev, 0); |
554 | error_uninitialize_ring: | 555 | error_uninitialize_ring: |
555 | adis16209_uninitialize_ring(st->indio_dev->ring); | 556 | iio_ring_buffer_unregister(st->indio_dev->ring); |
556 | error_unreg_ring_funcs: | 557 | error_unreg_ring_funcs: |
557 | adis16209_unconfigure_ring(st->indio_dev); | 558 | adis16209_unconfigure_ring(st->indio_dev); |
558 | error_free_dev: | 559 | error_free_dev: |
@@ -581,7 +582,7 @@ static int adis16209_remove(struct spi_device *spi) | |||
581 | if (spi->irq) | 582 | if (spi->irq) |
582 | iio_unregister_interrupt_line(indio_dev, 0); | 583 | iio_unregister_interrupt_line(indio_dev, 0); |
583 | 584 | ||
584 | adis16209_uninitialize_ring(indio_dev->ring); | 585 | iio_ring_buffer_unregister(indio_dev->ring); |
585 | iio_device_unregister(indio_dev); | 586 | iio_device_unregister(indio_dev); |
586 | adis16209_unconfigure_ring(indio_dev); | 587 | adis16209_unconfigure_ring(indio_dev); |
587 | kfree(st->tx); | 588 | kfree(st->tx); |
diff --git a/drivers/staging/iio/accel/adis16209_ring.c b/drivers/staging/iio/accel/adis16209_ring.c index 5945d6712cb..f3a9493bd5c 100644 --- a/drivers/staging/iio/accel/adis16209_ring.c +++ b/drivers/staging/iio/accel/adis16209_ring.c | |||
@@ -225,13 +225,3 @@ error_iio_sw_rb_free: | |||
225 | iio_sw_rb_free(indio_dev->ring); | 225 | iio_sw_rb_free(indio_dev->ring); |
226 | return ret; | 226 | return ret; |
227 | } | 227 | } |
228 | |||
229 | int adis16209_initialize_ring(struct iio_ring_buffer *ring) | ||
230 | { | ||
231 | return iio_ring_buffer_register(ring, 0); | ||
232 | } | ||
233 | |||
234 | void adis16209_uninitialize_ring(struct iio_ring_buffer *ring) | ||
235 | { | ||
236 | iio_ring_buffer_unregister(ring); | ||
237 | } | ||
diff --git a/drivers/staging/iio/accel/adis16240.h b/drivers/staging/iio/accel/adis16240.h index 86e0f3ddb60..e45419a4235 100644 --- a/drivers/staging/iio/accel/adis16240.h +++ b/drivers/staging/iio/accel/adis16240.h | |||
@@ -173,8 +173,6 @@ ssize_t adis16240_read_data_from_ring(struct device *dev, | |||
173 | int adis16240_configure_ring(struct iio_dev *indio_dev); | 173 | int adis16240_configure_ring(struct iio_dev *indio_dev); |
174 | void adis16240_unconfigure_ring(struct iio_dev *indio_dev); | 174 | void adis16240_unconfigure_ring(struct iio_dev *indio_dev); |
175 | 175 | ||
176 | int adis16240_initialize_ring(struct iio_ring_buffer *ring); | ||
177 | void adis16240_uninitialize_ring(struct iio_ring_buffer *ring); | ||
178 | #else /* CONFIG_IIO_RING_BUFFER */ | 176 | #else /* CONFIG_IIO_RING_BUFFER */ |
179 | 177 | ||
180 | static inline void adis16240_remove_trigger(struct iio_dev *indio_dev) | 178 | static inline void adis16240_remove_trigger(struct iio_dev *indio_dev) |
@@ -203,14 +201,5 @@ static inline void adis16240_unconfigure_ring(struct iio_dev *indio_dev) | |||
203 | { | 201 | { |
204 | } | 202 | } |
205 | 203 | ||
206 | static inline int adis16240_initialize_ring(struct iio_ring_buffer *ring) | ||
207 | { | ||
208 | return 0; | ||
209 | } | ||
210 | |||
211 | static inline void adis16240_uninitialize_ring(struct iio_ring_buffer *ring) | ||
212 | { | ||
213 | } | ||
214 | |||
215 | #endif /* CONFIG_IIO_RING_BUFFER */ | 204 | #endif /* CONFIG_IIO_RING_BUFFER */ |
216 | #endif /* SPI_ADIS16240_H_ */ | 205 | #endif /* SPI_ADIS16240_H_ */ |
diff --git a/drivers/staging/iio/accel/adis16240_core.c b/drivers/staging/iio/accel/adis16240_core.c index ba336cbea80..3e9531dd000 100644 --- a/drivers/staging/iio/accel/adis16240_core.c +++ b/drivers/staging/iio/accel/adis16240_core.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "../iio.h" | 21 | #include "../iio.h" |
22 | #include "../sysfs.h" | 22 | #include "../sysfs.h" |
23 | #include "../ring_generic.h" | ||
23 | #include "accel.h" | 24 | #include "accel.h" |
24 | #include "../adc/adc.h" | 25 | #include "../adc/adc.h" |
25 | 26 | ||
@@ -502,7 +503,7 @@ static int __devinit adis16240_probe(struct spi_device *spi) | |||
502 | goto error_unreg_ring_funcs; | 503 | goto error_unreg_ring_funcs; |
503 | regdone = 1; | 504 | regdone = 1; |
504 | 505 | ||
505 | ret = adis16240_initialize_ring(st->indio_dev->ring); | 506 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
506 | if (ret) { | 507 | if (ret) { |
507 | printk(KERN_ERR "failed to initialize the ring\n"); | 508 | printk(KERN_ERR "failed to initialize the ring\n"); |
508 | goto error_unreg_ring_funcs; | 509 | goto error_unreg_ring_funcs; |
@@ -534,7 +535,7 @@ error_unregister_line: | |||
534 | if (spi->irq) | 535 | if (spi->irq) |
535 | iio_unregister_interrupt_line(st->indio_dev, 0); | 536 | iio_unregister_interrupt_line(st->indio_dev, 0); |
536 | error_uninitialize_ring: | 537 | error_uninitialize_ring: |
537 | adis16240_uninitialize_ring(st->indio_dev->ring); | 538 | iio_ring_buffer_unregister(st->indio_dev->ring); |
538 | error_unreg_ring_funcs: | 539 | error_unreg_ring_funcs: |
539 | adis16240_unconfigure_ring(st->indio_dev); | 540 | adis16240_unconfigure_ring(st->indio_dev); |
540 | error_free_dev: | 541 | error_free_dev: |
@@ -563,7 +564,7 @@ static int adis16240_remove(struct spi_device *spi) | |||
563 | if (spi->irq) | 564 | if (spi->irq) |
564 | iio_unregister_interrupt_line(indio_dev, 0); | 565 | iio_unregister_interrupt_line(indio_dev, 0); |
565 | 566 | ||
566 | adis16240_uninitialize_ring(indio_dev->ring); | 567 | iio_ring_buffer_unregister(indio_dev->ring); |
567 | iio_device_unregister(indio_dev); | 568 | iio_device_unregister(indio_dev); |
568 | adis16240_unconfigure_ring(indio_dev); | 569 | adis16240_unconfigure_ring(indio_dev); |
569 | kfree(st->tx); | 570 | kfree(st->tx); |
diff --git a/drivers/staging/iio/accel/adis16240_ring.c b/drivers/staging/iio/accel/adis16240_ring.c index ecf1110b52d..a1611bbab14 100644 --- a/drivers/staging/iio/accel/adis16240_ring.c +++ b/drivers/staging/iio/accel/adis16240_ring.c | |||
@@ -214,12 +214,3 @@ error_iio_sw_rb_free: | |||
214 | return ret; | 214 | return ret; |
215 | } | 215 | } |
216 | 216 | ||
217 | int adis16240_initialize_ring(struct iio_ring_buffer *ring) | ||
218 | { | ||
219 | return iio_ring_buffer_register(ring, 0); | ||
220 | } | ||
221 | |||
222 | void adis16240_uninitialize_ring(struct iio_ring_buffer *ring) | ||
223 | { | ||
224 | iio_ring_buffer_unregister(ring); | ||
225 | } | ||
diff --git a/drivers/staging/iio/accel/lis3l02dq.h b/drivers/staging/iio/accel/lis3l02dq.h index a9adae3a4cd..6de172ebc04 100644 --- a/drivers/staging/iio/accel/lis3l02dq.h +++ b/drivers/staging/iio/accel/lis3l02dq.h | |||
@@ -195,8 +195,6 @@ ssize_t lis3l02dq_read_accel_from_ring(struct device *dev, | |||
195 | int lis3l02dq_configure_ring(struct iio_dev *indio_dev); | 195 | int lis3l02dq_configure_ring(struct iio_dev *indio_dev); |
196 | void lis3l02dq_unconfigure_ring(struct iio_dev *indio_dev); | 196 | void lis3l02dq_unconfigure_ring(struct iio_dev *indio_dev); |
197 | 197 | ||
198 | int lis3l02dq_initialize_ring(struct iio_ring_buffer *ring); | ||
199 | void lis3l02dq_uninitialize_ring(struct iio_ring_buffer *ring); | ||
200 | #else /* CONFIG_IIO_RING_BUFFER */ | 198 | #else /* CONFIG_IIO_RING_BUFFER */ |
201 | 199 | ||
202 | static inline void lis3l02dq_remove_trigger(struct iio_dev *indio_dev) | 200 | static inline void lis3l02dq_remove_trigger(struct iio_dev *indio_dev) |
@@ -222,12 +220,5 @@ static int lis3l02dq_configure_ring(struct iio_dev *indio_dev) | |||
222 | static inline void lis3l02dq_unconfigure_ring(struct iio_dev *indio_dev) | 220 | static inline void lis3l02dq_unconfigure_ring(struct iio_dev *indio_dev) |
223 | { | 221 | { |
224 | } | 222 | } |
225 | static inline int lis3l02dq_initialize_ring(struct iio_ring_buffer *ring) | ||
226 | { | ||
227 | return 0; | ||
228 | } | ||
229 | static inline void lis3l02dq_uninitialize_ring(struct iio_ring_buffer *ring) | ||
230 | { | ||
231 | } | ||
232 | #endif /* CONFIG_IIO_RING_BUFFER */ | 223 | #endif /* CONFIG_IIO_RING_BUFFER */ |
233 | #endif /* SPI_LIS3L02DQ_H_ */ | 224 | #endif /* SPI_LIS3L02DQ_H_ */ |
diff --git a/drivers/staging/iio/accel/lis3l02dq_core.c b/drivers/staging/iio/accel/lis3l02dq_core.c index 40348695493..f86ffb838ce 100644 --- a/drivers/staging/iio/accel/lis3l02dq_core.c +++ b/drivers/staging/iio/accel/lis3l02dq_core.c | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | #include "../iio.h" | 28 | #include "../iio.h" |
29 | #include "../sysfs.h" | 29 | #include "../sysfs.h" |
30 | #include "../ring_generic.h" | ||
30 | #include "accel.h" | 31 | #include "accel.h" |
31 | 32 | ||
32 | #include "lis3l02dq.h" | 33 | #include "lis3l02dq.h" |
@@ -791,7 +792,7 @@ static int __devinit lis3l02dq_probe(struct spi_device *spi) | |||
791 | goto error_unreg_ring_funcs; | 792 | goto error_unreg_ring_funcs; |
792 | regdone = 1; | 793 | regdone = 1; |
793 | 794 | ||
794 | ret = lis3l02dq_initialize_ring(st->indio_dev->ring); | 795 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
795 | if (ret) { | 796 | if (ret) { |
796 | printk(KERN_ERR "failed to initialize the ring\n"); | 797 | printk(KERN_ERR "failed to initialize the ring\n"); |
797 | goto error_unreg_ring_funcs; | 798 | goto error_unreg_ring_funcs; |
@@ -825,7 +826,7 @@ error_unregister_line: | |||
825 | if (st->indio_dev->modes & INDIO_RING_TRIGGERED) | 826 | if (st->indio_dev->modes & INDIO_RING_TRIGGERED) |
826 | iio_unregister_interrupt_line(st->indio_dev, 0); | 827 | iio_unregister_interrupt_line(st->indio_dev, 0); |
827 | error_uninitialize_ring: | 828 | error_uninitialize_ring: |
828 | lis3l02dq_uninitialize_ring(st->indio_dev->ring); | 829 | iio_ring_buffer_unregister(st->indio_dev->ring); |
829 | error_unreg_ring_funcs: | 830 | error_unreg_ring_funcs: |
830 | lis3l02dq_unconfigure_ring(st->indio_dev); | 831 | lis3l02dq_unconfigure_ring(st->indio_dev); |
831 | error_free_dev: | 832 | error_free_dev: |
@@ -886,7 +887,7 @@ static int lis3l02dq_remove(struct spi_device *spi) | |||
886 | if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) | 887 | if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) |
887 | iio_unregister_interrupt_line(indio_dev, 0); | 888 | iio_unregister_interrupt_line(indio_dev, 0); |
888 | 889 | ||
889 | lis3l02dq_uninitialize_ring(indio_dev->ring); | 890 | iio_ring_buffer_unregister(indio_dev->ring); |
890 | lis3l02dq_unconfigure_ring(indio_dev); | 891 | lis3l02dq_unconfigure_ring(indio_dev); |
891 | iio_device_unregister(indio_dev); | 892 | iio_device_unregister(indio_dev); |
892 | kfree(st->tx); | 893 | kfree(st->tx); |
diff --git a/drivers/staging/iio/accel/lis3l02dq_ring.c b/drivers/staging/iio/accel/lis3l02dq_ring.c index 28d95ed0b24..a506dab27e0 100644 --- a/drivers/staging/iio/accel/lis3l02dq_ring.c +++ b/drivers/staging/iio/accel/lis3l02dq_ring.c | |||
@@ -559,15 +559,5 @@ error_iio_sw_rb_free: | |||
559 | return ret; | 559 | return ret; |
560 | } | 560 | } |
561 | 561 | ||
562 | int lis3l02dq_initialize_ring(struct iio_ring_buffer *ring) | ||
563 | { | ||
564 | return iio_ring_buffer_register(ring, 0); | ||
565 | } | ||
566 | |||
567 | void lis3l02dq_uninitialize_ring(struct iio_ring_buffer *ring) | ||
568 | { | ||
569 | iio_ring_buffer_unregister(ring); | ||
570 | } | ||
571 | |||
572 | 562 | ||
573 | 563 | ||
diff --git a/drivers/staging/iio/adc/max1363.h b/drivers/staging/iio/adc/max1363.h index bd35509b105..8f0fe1ced2c 100644 --- a/drivers/staging/iio/adc/max1363.h +++ b/drivers/staging/iio/adc/max1363.h | |||
@@ -230,26 +230,13 @@ int max1363_single_channel_from_ring(long mask, struct max1363_state *st); | |||
230 | int max1363_register_ring_funcs_and_init(struct iio_dev *indio_dev); | 230 | int max1363_register_ring_funcs_and_init(struct iio_dev *indio_dev); |
231 | void max1363_ring_cleanup(struct iio_dev *indio_dev); | 231 | void max1363_ring_cleanup(struct iio_dev *indio_dev); |
232 | 232 | ||
233 | int max1363_initialize_ring(struct iio_ring_buffer *ring); | ||
234 | void max1363_uninitialize_ring(struct iio_ring_buffer *ring); | ||
235 | |||
236 | #else /* CONFIG_MAX1363_RING_BUFFER */ | 233 | #else /* CONFIG_MAX1363_RING_BUFFER */ |
237 | 234 | ||
238 | static inline void max1363_uninitialize_ring(struct iio_ring_buffer *ring) | ||
239 | { | ||
240 | } | ||
241 | |||
242 | static inline int max1363_initialize_ring(struct iio_ring_buffer *ring) | ||
243 | { | ||
244 | return 0; | ||
245 | } | ||
246 | |||
247 | int max1363_single_channel_from_ring(long mask, struct max1363_state *st) | 235 | int max1363_single_channel_from_ring(long mask, struct max1363_state *st) |
248 | { | 236 | { |
249 | return -EINVAL; | 237 | return -EINVAL; |
250 | } | 238 | } |
251 | 239 | ||
252 | |||
253 | static inline int | 240 | static inline int |
254 | max1363_register_ring_funcs_and_init(struct iio_dev *indio_dev) | 241 | max1363_register_ring_funcs_and_init(struct iio_dev *indio_dev) |
255 | { | 242 | { |
diff --git a/drivers/staging/iio/adc/max1363_core.c b/drivers/staging/iio/adc/max1363_core.c index c23485f24c5..6435e509dd5 100644 --- a/drivers/staging/iio/adc/max1363_core.c +++ b/drivers/staging/iio/adc/max1363_core.c | |||
@@ -1653,7 +1653,7 @@ static int __devinit max1363_probe(struct i2c_client *client, | |||
1653 | if (ret) | 1653 | if (ret) |
1654 | goto error_cleanup_ring; | 1654 | goto error_cleanup_ring; |
1655 | regdone = 1; | 1655 | regdone = 1; |
1656 | ret = max1363_initialize_ring(st->indio_dev->ring); | 1656 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
1657 | if (ret) | 1657 | if (ret) |
1658 | goto error_cleanup_ring; | 1658 | goto error_cleanup_ring; |
1659 | 1659 | ||
@@ -1671,7 +1671,7 @@ static int __devinit max1363_probe(struct i2c_client *client, | |||
1671 | 1671 | ||
1672 | return 0; | 1672 | return 0; |
1673 | error_uninit_ring: | 1673 | error_uninit_ring: |
1674 | max1363_uninitialize_ring(st->indio_dev->ring); | 1674 | iio_ring_buffer_unregister(st->indio_dev->ring); |
1675 | error_cleanup_ring: | 1675 | error_cleanup_ring: |
1676 | max1363_ring_cleanup(st->indio_dev); | 1676 | max1363_ring_cleanup(st->indio_dev); |
1677 | error_free_available_scan_masks: | 1677 | error_free_available_scan_masks: |
@@ -1700,7 +1700,7 @@ static int max1363_remove(struct i2c_client *client) | |||
1700 | 1700 | ||
1701 | if (st->chip_info->monitor_mode && client->irq) | 1701 | if (st->chip_info->monitor_mode && client->irq) |
1702 | iio_unregister_interrupt_line(st->indio_dev, 0); | 1702 | iio_unregister_interrupt_line(st->indio_dev, 0); |
1703 | max1363_uninitialize_ring(indio_dev->ring); | 1703 | iio_ring_buffer_unregister(indio_dev->ring); |
1704 | max1363_ring_cleanup(indio_dev); | 1704 | max1363_ring_cleanup(indio_dev); |
1705 | kfree(st->indio_dev->available_scan_masks); | 1705 | kfree(st->indio_dev->available_scan_masks); |
1706 | iio_device_unregister(indio_dev); | 1706 | iio_device_unregister(indio_dev); |
diff --git a/drivers/staging/iio/adc/max1363_ring.c b/drivers/staging/iio/adc/max1363_ring.c index f9d5101e53a..786b17a0d6b 100644 --- a/drivers/staging/iio/adc/max1363_ring.c +++ b/drivers/staging/iio/adc/max1363_ring.c | |||
@@ -224,13 +224,3 @@ void max1363_ring_cleanup(struct iio_dev *indio_dev) | |||
224 | kfree(indio_dev->pollfunc); | 224 | kfree(indio_dev->pollfunc); |
225 | iio_sw_rb_free(indio_dev->ring); | 225 | iio_sw_rb_free(indio_dev->ring); |
226 | } | 226 | } |
227 | |||
228 | void max1363_uninitialize_ring(struct iio_ring_buffer *ring) | ||
229 | { | ||
230 | iio_ring_buffer_unregister(ring); | ||
231 | } | ||
232 | |||
233 | int max1363_initialize_ring(struct iio_ring_buffer *ring) | ||
234 | { | ||
235 | return iio_ring_buffer_register(ring, 0); | ||
236 | } | ||
diff --git a/drivers/staging/iio/gyro/adis16260.h b/drivers/staging/iio/gyro/adis16260.h index 53f5fbd762f..9f868b523ca 100644 --- a/drivers/staging/iio/gyro/adis16260.h +++ b/drivers/staging/iio/gyro/adis16260.h | |||
@@ -130,8 +130,6 @@ ssize_t adis16260_read_data_from_ring(struct device *dev, | |||
130 | int adis16260_configure_ring(struct iio_dev *indio_dev); | 130 | int adis16260_configure_ring(struct iio_dev *indio_dev); |
131 | void adis16260_unconfigure_ring(struct iio_dev *indio_dev); | 131 | void adis16260_unconfigure_ring(struct iio_dev *indio_dev); |
132 | 132 | ||
133 | int adis16260_initialize_ring(struct iio_ring_buffer *ring); | ||
134 | void adis16260_uninitialize_ring(struct iio_ring_buffer *ring); | ||
135 | #else /* CONFIG_IIO_RING_BUFFER */ | 133 | #else /* CONFIG_IIO_RING_BUFFER */ |
136 | 134 | ||
137 | static inline void adis16260_remove_trigger(struct iio_dev *indio_dev) | 135 | static inline void adis16260_remove_trigger(struct iio_dev *indio_dev) |
@@ -160,14 +158,5 @@ static inline void adis16260_unconfigure_ring(struct iio_dev *indio_dev) | |||
160 | { | 158 | { |
161 | } | 159 | } |
162 | 160 | ||
163 | static inline int adis16260_initialize_ring(struct iio_ring_buffer *ring) | ||
164 | { | ||
165 | return 0; | ||
166 | } | ||
167 | |||
168 | static inline void adis16260_uninitialize_ring(struct iio_ring_buffer *ring) | ||
169 | { | ||
170 | } | ||
171 | |||
172 | #endif /* CONFIG_IIO_RING_BUFFER */ | 161 | #endif /* CONFIG_IIO_RING_BUFFER */ |
173 | #endif /* SPI_ADIS16260_H_ */ | 162 | #endif /* SPI_ADIS16260_H_ */ |
diff --git a/drivers/staging/iio/gyro/adis16260_core.c b/drivers/staging/iio/gyro/adis16260_core.c index f0246a42473..134dfaae2f0 100644 --- a/drivers/staging/iio/gyro/adis16260_core.c +++ b/drivers/staging/iio/gyro/adis16260_core.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "../iio.h" | 21 | #include "../iio.h" |
22 | #include "../sysfs.h" | 22 | #include "../sysfs.h" |
23 | #include "../ring_generic.h" | ||
23 | #include "../adc/adc.h" | 24 | #include "../adc/adc.h" |
24 | #include "gyro.h" | 25 | #include "gyro.h" |
25 | 26 | ||
@@ -555,8 +556,7 @@ static int __devinit adis16260_probe(struct spi_device *spi) | |||
555 | if (ret) | 556 | if (ret) |
556 | goto error_unreg_ring_funcs; | 557 | goto error_unreg_ring_funcs; |
557 | regdone = 1; | 558 | regdone = 1; |
558 | 559 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); | |
559 | ret = adis16260_initialize_ring(st->indio_dev->ring); | ||
560 | if (ret) { | 560 | if (ret) { |
561 | printk(KERN_ERR "failed to initialize the ring\n"); | 561 | printk(KERN_ERR "failed to initialize the ring\n"); |
562 | goto error_unreg_ring_funcs; | 562 | goto error_unreg_ring_funcs; |
@@ -588,7 +588,7 @@ error_unregister_line: | |||
588 | if (spi->irq) | 588 | if (spi->irq) |
589 | iio_unregister_interrupt_line(st->indio_dev, 0); | 589 | iio_unregister_interrupt_line(st->indio_dev, 0); |
590 | error_uninitialize_ring: | 590 | error_uninitialize_ring: |
591 | adis16260_uninitialize_ring(st->indio_dev->ring); | 591 | iio_ring_buffer_unregister(st->indio_dev->ring); |
592 | error_unreg_ring_funcs: | 592 | error_unreg_ring_funcs: |
593 | adis16260_unconfigure_ring(st->indio_dev); | 593 | adis16260_unconfigure_ring(st->indio_dev); |
594 | error_free_dev: | 594 | error_free_dev: |
@@ -622,15 +622,13 @@ static int adis16260_remove(struct spi_device *spi) | |||
622 | if (spi->irq) | 622 | if (spi->irq) |
623 | iio_unregister_interrupt_line(indio_dev, 0); | 623 | iio_unregister_interrupt_line(indio_dev, 0); |
624 | 624 | ||
625 | adis16260_uninitialize_ring(indio_dev->ring); | 625 | iio_ring_buffer_unregister(st->indio_dev->ring); |
626 | iio_device_unregister(indio_dev); | 626 | iio_device_unregister(indio_dev); |
627 | adis16260_unconfigure_ring(indio_dev); | 627 | adis16260_unconfigure_ring(indio_dev); |
628 | kfree(st->tx); | 628 | kfree(st->tx); |
629 | kfree(st->rx); | 629 | kfree(st->rx); |
630 | kfree(st); | 630 | kfree(st); |
631 | 631 | ||
632 | return 0; | ||
633 | |||
634 | err_ret: | 632 | err_ret: |
635 | return ret; | 633 | return ret; |
636 | } | 634 | } |
diff --git a/drivers/staging/iio/gyro/adis16260_ring.c b/drivers/staging/iio/gyro/adis16260_ring.c index 57ebc8c0bb7..94b4515c20f 100644 --- a/drivers/staging/iio/gyro/adis16260_ring.c +++ b/drivers/staging/iio/gyro/adis16260_ring.c | |||
@@ -215,13 +215,3 @@ error_iio_sw_rb_free: | |||
215 | iio_sw_rb_free(indio_dev->ring); | 215 | iio_sw_rb_free(indio_dev->ring); |
216 | return ret; | 216 | return ret; |
217 | } | 217 | } |
218 | |||
219 | int adis16260_initialize_ring(struct iio_ring_buffer *ring) | ||
220 | { | ||
221 | return iio_ring_buffer_register(ring, 0); | ||
222 | } | ||
223 | |||
224 | void adis16260_uninitialize_ring(struct iio_ring_buffer *ring) | ||
225 | { | ||
226 | iio_ring_buffer_unregister(ring); | ||
227 | } | ||
diff --git a/drivers/staging/iio/imu/adis16300_core.c b/drivers/staging/iio/imu/adis16300_core.c index 28667e8f26c..f1950d56cb1 100644 --- a/drivers/staging/iio/imu/adis16300_core.c +++ b/drivers/staging/iio/imu/adis16300_core.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "../iio.h" | 21 | #include "../iio.h" |
22 | #include "../sysfs.h" | 22 | #include "../sysfs.h" |
23 | #include "../ring_generic.h" | ||
23 | #include "../accel/accel.h" | 24 | #include "../accel/accel.h" |
24 | #include "../accel/inclinometer.h" | 25 | #include "../accel/inclinometer.h" |
25 | #include "../gyro/gyro.h" | 26 | #include "../gyro/gyro.h" |
@@ -644,7 +645,7 @@ static int __devinit adis16300_probe(struct spi_device *spi) | |||
644 | goto error_unreg_ring_funcs; | 645 | goto error_unreg_ring_funcs; |
645 | regdone = 1; | 646 | regdone = 1; |
646 | 647 | ||
647 | ret = adis16300_initialize_ring(st->indio_dev->ring); | 648 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
648 | if (ret) { | 649 | if (ret) { |
649 | printk(KERN_ERR "failed to initialize the ring\n"); | 650 | printk(KERN_ERR "failed to initialize the ring\n"); |
650 | goto error_unreg_ring_funcs; | 651 | goto error_unreg_ring_funcs; |
@@ -676,7 +677,7 @@ error_unregister_line: | |||
676 | if (spi->irq) | 677 | if (spi->irq) |
677 | iio_unregister_interrupt_line(st->indio_dev, 0); | 678 | iio_unregister_interrupt_line(st->indio_dev, 0); |
678 | error_uninitialize_ring: | 679 | error_uninitialize_ring: |
679 | adis16300_uninitialize_ring(st->indio_dev->ring); | 680 | iio_ring_buffer_unregister(st->indio_dev->ring); |
680 | error_unreg_ring_funcs: | 681 | error_unreg_ring_funcs: |
681 | adis16300_unconfigure_ring(st->indio_dev); | 682 | adis16300_unconfigure_ring(st->indio_dev); |
682 | error_free_dev: | 683 | error_free_dev: |
@@ -710,7 +711,7 @@ static int adis16300_remove(struct spi_device *spi) | |||
710 | if (spi->irq) | 711 | if (spi->irq) |
711 | iio_unregister_interrupt_line(indio_dev, 0); | 712 | iio_unregister_interrupt_line(indio_dev, 0); |
712 | 713 | ||
713 | adis16300_uninitialize_ring(indio_dev->ring); | 714 | iio_ring_buffer_unregister(indio_dev->ring); |
714 | iio_device_unregister(indio_dev); | 715 | iio_device_unregister(indio_dev); |
715 | adis16300_unconfigure_ring(indio_dev); | 716 | adis16300_unconfigure_ring(indio_dev); |
716 | kfree(st->tx); | 717 | kfree(st->tx); |
diff --git a/drivers/staging/iio/imu/adis16300_ring.c b/drivers/staging/iio/imu/adis16300_ring.c index a76d43cd209..3bf9904f7d7 100644 --- a/drivers/staging/iio/imu/adis16300_ring.c +++ b/drivers/staging/iio/imu/adis16300_ring.c | |||
@@ -241,12 +241,3 @@ error_iio_sw_rb_free: | |||
241 | return ret; | 241 | return ret; |
242 | } | 242 | } |
243 | 243 | ||
244 | int adis16300_initialize_ring(struct iio_ring_buffer *ring) | ||
245 | { | ||
246 | return iio_ring_buffer_register(ring, 0); | ||
247 | } | ||
248 | |||
249 | void adis16300_uninitialize_ring(struct iio_ring_buffer *ring) | ||
250 | { | ||
251 | iio_ring_buffer_unregister(ring); | ||
252 | } | ||
diff --git a/drivers/staging/iio/imu/adis16350.h b/drivers/staging/iio/imu/adis16350.h index b4533a0e0ef..d94f6ab57fb 100644 --- a/drivers/staging/iio/imu/adis16350.h +++ b/drivers/staging/iio/imu/adis16350.h | |||
@@ -148,8 +148,6 @@ ssize_t adis16350_read_data_from_ring(struct device *dev, | |||
148 | int adis16350_configure_ring(struct iio_dev *indio_dev); | 148 | int adis16350_configure_ring(struct iio_dev *indio_dev); |
149 | void adis16350_unconfigure_ring(struct iio_dev *indio_dev); | 149 | void adis16350_unconfigure_ring(struct iio_dev *indio_dev); |
150 | 150 | ||
151 | int adis16350_initialize_ring(struct iio_ring_buffer *ring); | ||
152 | void adis16350_uninitialize_ring(struct iio_ring_buffer *ring); | ||
153 | #else /* CONFIG_IIO_RING_BUFFER */ | 151 | #else /* CONFIG_IIO_RING_BUFFER */ |
154 | 152 | ||
155 | static inline void adis16350_remove_trigger(struct iio_dev *indio_dev) | 153 | static inline void adis16350_remove_trigger(struct iio_dev *indio_dev) |
@@ -169,23 +167,5 @@ adis16350_read_data_from_ring(struct device *dev, | |||
169 | return 0; | 167 | return 0; |
170 | } | 168 | } |
171 | 169 | ||
172 | static int adis16350_configure_ring(struct iio_dev *indio_dev) | ||
173 | { | ||
174 | return 0; | ||
175 | } | ||
176 | |||
177 | static inline void adis16350_unconfigure_ring(struct iio_dev *indio_dev) | ||
178 | { | ||
179 | } | ||
180 | |||
181 | static inline int adis16350_initialize_ring(struct iio_ring_buffer *ring) | ||
182 | { | ||
183 | return 0; | ||
184 | } | ||
185 | |||
186 | static inline void adis16350_uninitialize_ring(struct iio_ring_buffer *ring) | ||
187 | { | ||
188 | } | ||
189 | |||
190 | #endif /* CONFIG_IIO_RING_BUFFER */ | 170 | #endif /* CONFIG_IIO_RING_BUFFER */ |
191 | #endif /* SPI_ADIS16350_H_ */ | 171 | #endif /* SPI_ADIS16350_H_ */ |
diff --git a/drivers/staging/iio/imu/adis16350_core.c b/drivers/staging/iio/imu/adis16350_core.c index 0bb19a9d12f..1575b7b5d44 100644 --- a/drivers/staging/iio/imu/adis16350_core.c +++ b/drivers/staging/iio/imu/adis16350_core.c | |||
@@ -20,6 +20,7 @@ | |||
20 | 20 | ||
21 | #include "../iio.h" | 21 | #include "../iio.h" |
22 | #include "../sysfs.h" | 22 | #include "../sysfs.h" |
23 | #include "../ring_generic.h" | ||
23 | #include "../accel/accel.h" | 24 | #include "../accel/accel.h" |
24 | #include "../adc/adc.h" | 25 | #include "../adc/adc.h" |
25 | #include "../gyro/gyro.h" | 26 | #include "../gyro/gyro.h" |
@@ -619,7 +620,7 @@ static int __devinit adis16350_probe(struct spi_device *spi) | |||
619 | goto error_unreg_ring_funcs; | 620 | goto error_unreg_ring_funcs; |
620 | regdone = 1; | 621 | regdone = 1; |
621 | 622 | ||
622 | ret = adis16350_initialize_ring(st->indio_dev->ring); | 623 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
623 | if (ret) { | 624 | if (ret) { |
624 | printk(KERN_ERR "failed to initialize the ring\n"); | 625 | printk(KERN_ERR "failed to initialize the ring\n"); |
625 | goto error_unreg_ring_funcs; | 626 | goto error_unreg_ring_funcs; |
@@ -651,7 +652,7 @@ error_unregister_line: | |||
651 | if (spi->irq) | 652 | if (spi->irq) |
652 | iio_unregister_interrupt_line(st->indio_dev, 0); | 653 | iio_unregister_interrupt_line(st->indio_dev, 0); |
653 | error_uninitialize_ring: | 654 | error_uninitialize_ring: |
654 | adis16350_uninitialize_ring(st->indio_dev->ring); | 655 | iio_ring_buffer_unregister(st->indio_dev->ring); |
655 | error_unreg_ring_funcs: | 656 | error_unreg_ring_funcs: |
656 | adis16350_unconfigure_ring(st->indio_dev); | 657 | adis16350_unconfigure_ring(st->indio_dev); |
657 | error_free_dev: | 658 | error_free_dev: |
@@ -685,7 +686,7 @@ static int adis16350_remove(struct spi_device *spi) | |||
685 | if (spi->irq) | 686 | if (spi->irq) |
686 | iio_unregister_interrupt_line(indio_dev, 0); | 687 | iio_unregister_interrupt_line(indio_dev, 0); |
687 | 688 | ||
688 | adis16350_uninitialize_ring(indio_dev->ring); | 689 | iio_ring_buffer_unregister(indio_dev->ring); |
689 | iio_device_unregister(indio_dev); | 690 | iio_device_unregister(indio_dev); |
690 | adis16350_unconfigure_ring(indio_dev); | 691 | adis16350_unconfigure_ring(indio_dev); |
691 | kfree(st->tx); | 692 | kfree(st->tx); |
diff --git a/drivers/staging/iio/imu/adis16350_ring.c b/drivers/staging/iio/imu/adis16350_ring.c index ca4f685d2f5..319aa34b19c 100644 --- a/drivers/staging/iio/imu/adis16350_ring.c +++ b/drivers/staging/iio/imu/adis16350_ring.c | |||
@@ -246,12 +246,3 @@ error_iio_sw_rb_free: | |||
246 | return ret; | 246 | return ret; |
247 | } | 247 | } |
248 | 248 | ||
249 | int adis16350_initialize_ring(struct iio_ring_buffer *ring) | ||
250 | { | ||
251 | return iio_ring_buffer_register(ring, 0); | ||
252 | } | ||
253 | |||
254 | void adis16350_uninitialize_ring(struct iio_ring_buffer *ring) | ||
255 | { | ||
256 | iio_ring_buffer_unregister(ring); | ||
257 | } | ||
diff --git a/drivers/staging/iio/imu/adis16400.h b/drivers/staging/iio/imu/adis16400.h index f74faee1d29..0685195b351 100644 --- a/drivers/staging/iio/imu/adis16400.h +++ b/drivers/staging/iio/imu/adis16400.h | |||
@@ -178,8 +178,6 @@ ssize_t adis16400_read_data_from_ring(struct device *dev, | |||
178 | int adis16400_configure_ring(struct iio_dev *indio_dev); | 178 | int adis16400_configure_ring(struct iio_dev *indio_dev); |
179 | void adis16400_unconfigure_ring(struct iio_dev *indio_dev); | 179 | void adis16400_unconfigure_ring(struct iio_dev *indio_dev); |
180 | 180 | ||
181 | int adis16400_initialize_ring(struct iio_ring_buffer *ring); | ||
182 | void adis16400_uninitialize_ring(struct iio_ring_buffer *ring); | ||
183 | #else /* CONFIG_IIO_RING_BUFFER */ | 181 | #else /* CONFIG_IIO_RING_BUFFER */ |
184 | 182 | ||
185 | static inline void adis16400_remove_trigger(struct iio_dev *indio_dev) | 183 | static inline void adis16400_remove_trigger(struct iio_dev *indio_dev) |
@@ -208,14 +206,5 @@ static inline void adis16400_unconfigure_ring(struct iio_dev *indio_dev) | |||
208 | { | 206 | { |
209 | } | 207 | } |
210 | 208 | ||
211 | static inline int adis16400_initialize_ring(struct iio_ring_buffer *ring) | ||
212 | { | ||
213 | return 0; | ||
214 | } | ||
215 | |||
216 | static inline void adis16400_uninitialize_ring(struct iio_ring_buffer *ring) | ||
217 | { | ||
218 | } | ||
219 | |||
220 | #endif /* CONFIG_IIO_RING_BUFFER */ | 209 | #endif /* CONFIG_IIO_RING_BUFFER */ |
221 | #endif /* SPI_ADIS16400_H_ */ | 210 | #endif /* SPI_ADIS16400_H_ */ |
diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c index 160585fab31..6013fee218e 100644 --- a/drivers/staging/iio/imu/adis16400_core.c +++ b/drivers/staging/iio/imu/adis16400_core.c | |||
@@ -27,6 +27,7 @@ | |||
27 | 27 | ||
28 | #include "../iio.h" | 28 | #include "../iio.h" |
29 | #include "../sysfs.h" | 29 | #include "../sysfs.h" |
30 | #include "../ring_generic.h" | ||
30 | #include "../accel/accel.h" | 31 | #include "../accel/accel.h" |
31 | #include "../adc/adc.h" | 32 | #include "../adc/adc.h" |
32 | #include "../gyro/gyro.h" | 33 | #include "../gyro/gyro.h" |
@@ -641,7 +642,7 @@ static int __devinit adis16400_probe(struct spi_device *spi) | |||
641 | goto error_unreg_ring_funcs; | 642 | goto error_unreg_ring_funcs; |
642 | regdone = 1; | 643 | regdone = 1; |
643 | 644 | ||
644 | ret = adis16400_initialize_ring(st->indio_dev->ring); | 645 | ret = iio_ring_buffer_register(st->indio_dev->ring, 0); |
645 | if (ret) { | 646 | if (ret) { |
646 | printk(KERN_ERR "failed to initialize the ring\n"); | 647 | printk(KERN_ERR "failed to initialize the ring\n"); |
647 | goto error_unreg_ring_funcs; | 648 | goto error_unreg_ring_funcs; |
@@ -674,7 +675,7 @@ error_unregister_line: | |||
674 | if (st->indio_dev->modes & INDIO_RING_TRIGGERED) | 675 | if (st->indio_dev->modes & INDIO_RING_TRIGGERED) |
675 | iio_unregister_interrupt_line(st->indio_dev, 0); | 676 | iio_unregister_interrupt_line(st->indio_dev, 0); |
676 | error_uninitialize_ring: | 677 | error_uninitialize_ring: |
677 | adis16400_uninitialize_ring(st->indio_dev->ring); | 678 | iio_ring_buffer_unregister(st->indio_dev->ring); |
678 | error_unreg_ring_funcs: | 679 | error_unreg_ring_funcs: |
679 | adis16400_unconfigure_ring(st->indio_dev); | 680 | adis16400_unconfigure_ring(st->indio_dev); |
680 | error_free_dev: | 681 | error_free_dev: |
@@ -709,7 +710,7 @@ static int adis16400_remove(struct spi_device *spi) | |||
709 | if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) | 710 | if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) |
710 | iio_unregister_interrupt_line(indio_dev, 0); | 711 | iio_unregister_interrupt_line(indio_dev, 0); |
711 | 712 | ||
712 | adis16400_uninitialize_ring(indio_dev->ring); | 713 | iio_ring_buffer_unregister(st->indio_dev->ring); |
713 | adis16400_unconfigure_ring(indio_dev); | 714 | adis16400_unconfigure_ring(indio_dev); |
714 | iio_device_unregister(indio_dev); | 715 | iio_device_unregister(indio_dev); |
715 | kfree(st->tx); | 716 | kfree(st->tx); |
diff --git a/drivers/staging/iio/imu/adis16400_ring.c b/drivers/staging/iio/imu/adis16400_ring.c index 59d62a78096..c7744efefd7 100644 --- a/drivers/staging/iio/imu/adis16400_ring.c +++ b/drivers/staging/iio/imu/adis16400_ring.c | |||
@@ -252,13 +252,3 @@ error_iio_sw_rb_free: | |||
252 | iio_sw_rb_free(indio_dev->ring); | 252 | iio_sw_rb_free(indio_dev->ring); |
253 | return ret; | 253 | return ret; |
254 | } | 254 | } |
255 | |||
256 | int adis16400_initialize_ring(struct iio_ring_buffer *ring) | ||
257 | { | ||
258 | return iio_ring_buffer_register(ring, 0); | ||
259 | } | ||
260 | |||
261 | void adis16400_uninitialize_ring(struct iio_ring_buffer *ring) | ||
262 | { | ||
263 | iio_ring_buffer_unregister(ring); | ||
264 | } | ||
diff --git a/drivers/staging/iio/ring_generic.h b/drivers/staging/iio/ring_generic.h index 0e443757b02..dbf11e18062 100644 --- a/drivers/staging/iio/ring_generic.h +++ b/drivers/staging/iio/ring_generic.h | |||
@@ -11,6 +11,8 @@ | |||
11 | #define _IIO_RING_GENERIC_H_ | 11 | #define _IIO_RING_GENERIC_H_ |
12 | #include "iio.h" | 12 | #include "iio.h" |
13 | 13 | ||
14 | #ifdef CONFIG_IIO_RING_BUFFER | ||
15 | |||
14 | struct iio_handler; | 16 | struct iio_handler; |
15 | struct iio_ring_buffer; | 17 | struct iio_ring_buffer; |
16 | struct iio_dev; | 18 | struct iio_dev; |
@@ -287,5 +289,14 @@ ssize_t iio_show_ring_enable(struct device *dev, | |||
287 | #define IIO_RING_ENABLE_ATTR DEVICE_ATTR(ring_enable, S_IRUGO | S_IWUSR, \ | 289 | #define IIO_RING_ENABLE_ATTR DEVICE_ATTR(ring_enable, S_IRUGO | S_IWUSR, \ |
288 | iio_show_ring_enable, \ | 290 | iio_show_ring_enable, \ |
289 | iio_store_ring_enable) | 291 | iio_store_ring_enable) |
292 | #else /* CONFIG_IIO_RING_BUFFER */ | ||
293 | static inline int iio_ring_buffer_register(struct iio_ring_buffer *ring, int id) | ||
294 | { | ||
295 | return 0; | ||
296 | }; | ||
297 | static inline void iio_ring_buffer_unregister(struct iio_ring_buffer *ring) | ||
298 | {}; | ||
299 | |||
300 | #endif /* CONFIG_IIO_RING_BUFFER */ | ||
290 | 301 | ||
291 | #endif /* _IIO_RING_GENERIC_H_ */ | 302 | #endif /* _IIO_RING_GENERIC_H_ */ |