summaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/imu/adis16400_core.c
diff options
context:
space:
mode:
authorJonathan Cameron2011-04-18 13:58:59 +0200
committerGreg Kroah-Hartman2011-04-26 02:24:32 +0200
commitb333a24057e9443ec2db52afe78b4a60dfb79097 (patch)
treeda3ae549482cfe7c2876c198777e12f0b2755fbe /drivers/staging/iio/imu/adis16400_core.c
parentstaging:iio:adis16350 replace unnecessary event line registration. (diff)
downloadkernel-qcow2-linux-b333a24057e9443ec2db52afe78b4a60dfb79097.tar.gz
kernel-qcow2-linux-b333a24057e9443ec2db52afe78b4a60dfb79097.tar.xz
kernel-qcow2-linux-b333a24057e9443ec2db52afe78b4a60dfb79097.zip
staging:iio:adis16400 replace unnecessary event line registration.
Whilst the adis16400 does indeed support events, currently the driver does not. The trigger code should never use that infrastructure. Tested indirectly via the IMU driver merge to follow. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Acked-by: Michael Hennerich <michael.hennerich@analog.com> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/imu/adis16400_core.c')
-rw-r--r--drivers/staging/iio/imu/adis16400_core.c26
1 files changed, 1 insertions, 25 deletions
diff --git a/drivers/staging/iio/imu/adis16400_core.c b/drivers/staging/iio/imu/adis16400_core.c
index a0b53ee887f0..33c5f3c018fc 100644
--- a/drivers/staging/iio/imu/adis16400_core.c
+++ b/drivers/staging/iio/imu/adis16400_core.c
@@ -552,14 +552,6 @@ static IIO_CONST_ATTR_SAMP_FREQ_AVAIL("409 546 819 1638");
static IIO_CONST_ATTR_NAME("adis16400");
-static struct attribute *adis16400_event_attributes[] = {
- NULL
-};
-
-static struct attribute_group adis16400_event_attribute_group = {
- .attrs = adis16400_event_attributes,
-};
-
static struct attribute *adis16400_attributes[] = {
&iio_dev_attr_gyro_x_calibbias.dev_attr.attr,
&iio_dev_attr_gyro_y_calibbias.dev_attr.attr,
@@ -629,8 +621,6 @@ static int __devinit adis16400_probe(struct spi_device *spi)
}
st->indio_dev->dev.parent = &spi->dev;
- st->indio_dev->num_interrupt_lines = 1;
- st->indio_dev->event_attrs = &adis16400_event_attribute_group;
st->indio_dev->attrs = &adis16400_attribute_group;
st->indio_dev->dev_data = (void *)(st);
st->indio_dev->driver_module = THIS_MODULE;
@@ -652,17 +642,9 @@ static int __devinit adis16400_probe(struct spi_device *spi)
}
if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) {
- ret = iio_register_interrupt_line(spi->irq,
- st->indio_dev,
- 0,
- IRQF_TRIGGER_RISING,
- "adis16400");
- if (ret)
- goto error_uninitialize_ring;
-
ret = adis16400_probe_trigger(st->indio_dev);
if (ret)
- goto error_unregister_line;
+ goto error_uninitialize_ring;
}
/* Get the device into a sane initial state */
@@ -674,9 +656,6 @@ static int __devinit adis16400_probe(struct spi_device *spi)
error_remove_trigger:
if (st->indio_dev->modes & INDIO_RING_TRIGGERED)
adis16400_remove_trigger(st->indio_dev);
-error_unregister_line:
- if (st->indio_dev->modes & INDIO_RING_TRIGGERED)
- iio_unregister_interrupt_line(st->indio_dev, 0);
error_uninitialize_ring:
iio_ring_buffer_unregister(st->indio_dev->ring);
error_unreg_ring_funcs:
@@ -710,9 +689,6 @@ static int adis16400_remove(struct spi_device *spi)
flush_scheduled_work();
adis16400_remove_trigger(indio_dev);
- if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0)
- iio_unregister_interrupt_line(indio_dev, 0);
-
iio_ring_buffer_unregister(st->indio_dev->ring);
adis16400_unconfigure_ring(indio_dev);
iio_device_unregister(indio_dev);