Skip to content

Commit

Permalink
staging:iio:various move default scan mask setting after ring registe…
Browse files Browse the repository at this point in the history
…r or remove

The scan mask will be dynamically assigned in register, so don't
use it before that.

In adis16260 I've moved it as I know this driver has userspace code.
Same for sca3000 where it is cost free due to hardware buffer.
Can do that for the others, but in theory userspace code should always
have been checking these and setting them appropriately anyway!

V2: Clear default mask out of adis16400 as reported by Michael

Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk>
Reported-by: Michael Hennerich <michael.hennerich@analog.com>
Acked-by: Michael Hennerich <Michael.Hennerich@analog.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
  • Loading branch information
Jonathan Cameron authored and Greg Kroah-Hartman committed Sep 6, 2011
1 parent 8310b86 commit bd94c6a
Show file tree
Hide file tree
Showing 11 changed files with 14 additions and 61 deletions.
9 changes: 0 additions & 9 deletions drivers/staging/iio/accel/adis16201_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -121,15 +121,6 @@ int adis16201_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16201_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16201_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16201_SCAN_ACC_X);
iio_scan_mask_set(ring, ADIS16201_SCAN_ACC_Y);
iio_scan_mask_set(ring, ADIS16201_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16201_SCAN_TEMP);
iio_scan_mask_set(ring, ADIS16201_SCAN_INCLI_X);
iio_scan_mask_set(ring, ADIS16201_SCAN_INCLI_Y);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16201_trigger_handler,
IRQF_ONESHOT,
Expand Down
7 changes: 0 additions & 7 deletions drivers/staging/iio/accel/adis16203_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -123,13 +123,6 @@ int adis16203_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16203_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16203_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16203_SCAN_TEMP);
iio_scan_mask_set(ring, ADIS16203_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16203_SCAN_INCLI_X);
iio_scan_mask_set(ring, ADIS16203_SCAN_INCLI_Y);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16203_trigger_handler,
IRQF_ONESHOT,
Expand Down
7 changes: 0 additions & 7 deletions drivers/staging/iio/accel/adis16204_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,13 +118,6 @@ int adis16204_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16204_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16204_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16204_SCAN_ACC_X);
iio_scan_mask_set(ring, ADIS16204_SCAN_ACC_Y);
iio_scan_mask_set(ring, ADIS16204_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16204_SCAN_TEMP);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16204_trigger_handler,
IRQF_ONESHOT,
Expand Down
10 changes: 0 additions & 10 deletions drivers/staging/iio/accel/adis16209_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -118,16 +118,6 @@ int adis16209_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16209_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16209_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16209_SCAN_ACC_X);
iio_scan_mask_set(ring, ADIS16209_SCAN_ACC_Y);
iio_scan_mask_set(ring, ADIS16209_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16209_SCAN_TEMP);
iio_scan_mask_set(ring, ADIS16209_SCAN_INCLI_X);
iio_scan_mask_set(ring, ADIS16209_SCAN_INCLI_Y);
iio_scan_mask_set(ring, ADIS16209_SCAN_ROT);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16209_trigger_handler,
IRQF_ONESHOT,
Expand Down
8 changes: 0 additions & 8 deletions drivers/staging/iio/accel/adis16240_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -115,14 +115,6 @@ int adis16240_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16240_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16240_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_X);
iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_Y);
iio_scan_mask_set(ring, ADIS16240_SCAN_ACC_Z);
iio_scan_mask_set(ring, ADIS16240_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16240_SCAN_TEMP);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16240_trigger_handler,
IRQF_ONESHOT,
Expand Down
5 changes: 0 additions & 5 deletions drivers/staging/iio/accel/lis3l02dq_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -441,11 +441,6 @@ int lis3l02dq_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &lis3l02dq_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, 0);
iio_scan_mask_set(ring, 1);
iio_scan_mask_set(ring, 2);

/* Functions are NULL as we set handler below */
indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&lis3l02dq_trigger_handler,
Expand Down
6 changes: 6 additions & 0 deletions drivers/staging/iio/accel/sca3000_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -1161,6 +1161,12 @@ static int __devinit sca3000_probe(struct spi_device *spi)
ARRAY_SIZE(sca3000_channels));
if (ret < 0)
goto error_unregister_dev;
if (indio_dev->ring) {
iio_scan_mask_set(indio_dev->ring, 0);
iio_scan_mask_set(indio_dev->ring, 1);
iio_scan_mask_set(indio_dev->ring, 2);
}

if (spi->irq && gpio_is_valid(irq_to_gpio(spi->irq)) > 0) {
ret = request_threaded_irq(spi->irq,
NULL,
Expand Down
4 changes: 0 additions & 4 deletions drivers/staging/iio/accel/sca3000_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -294,10 +294,6 @@ int sca3000_configure_ring(struct iio_dev *indio_dev)

indio_dev->ring->access = &sca3000_ring_access_funcs;

iio_scan_mask_set(indio_dev->ring, 0);
iio_scan_mask_set(indio_dev->ring, 1);
iio_scan_mask_set(indio_dev->ring, 2);

return 0;
}

Expand Down
9 changes: 8 additions & 1 deletion drivers/staging/iio/gyro/adis16260_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -636,7 +636,14 @@ static int __devinit adis16260_probe(struct spi_device *spi)
printk(KERN_ERR "failed to initialize the ring\n");
goto error_unreg_ring_funcs;
}

if (indio_dev->ring) {
/* Set default scan mode */
iio_scan_mask_set(indio_dev->ring, ADIS16260_SCAN_SUPPLY);
iio_scan_mask_set(indio_dev->ring, ADIS16260_SCAN_GYRO);
iio_scan_mask_set(indio_dev->ring, ADIS16260_SCAN_AUX_ADC);
iio_scan_mask_set(indio_dev->ring, ADIS16260_SCAN_TEMP);
iio_scan_mask_set(indio_dev->ring, ADIS16260_SCAN_ANGL);
}
if (spi->irq) {
ret = adis16260_probe_trigger(indio_dev);
if (ret)
Expand Down
7 changes: 0 additions & 7 deletions drivers/staging/iio/gyro/adis16260_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -120,13 +120,6 @@ int adis16260_configure_ring(struct iio_dev *indio_dev)
ring->setup_ops = &adis16260_ring_setup_ops;
ring->owner = THIS_MODULE;

/* Set default scan mode */
iio_scan_mask_set(ring, ADIS16260_SCAN_SUPPLY);
iio_scan_mask_set(ring, ADIS16260_SCAN_GYRO);
iio_scan_mask_set(ring, ADIS16260_SCAN_AUX_ADC);
iio_scan_mask_set(ring, ADIS16260_SCAN_TEMP);
iio_scan_mask_set(ring, ADIS16260_SCAN_ANGL);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16260_trigger_handler,
IRQF_ONESHOT,
Expand Down
3 changes: 0 additions & 3 deletions drivers/staging/iio/imu/adis16400_ring.c
Original file line number Diff line number Diff line change
Expand Up @@ -189,9 +189,6 @@ int adis16400_configure_ring(struct iio_dev *indio_dev)
ring->scan_timestamp = true;
ring->setup_ops = &adis16400_ring_setup_ops;
ring->owner = THIS_MODULE;
/* Set default scan mode */
ring->scan_mask = st->variant->default_scan_mask;
ring->scan_count = hweight_long(st->variant->default_scan_mask);

indio_dev->pollfunc = iio_alloc_pollfunc(&iio_pollfunc_store_time,
&adis16400_trigger_handler,
Expand Down

0 comments on commit bd94c6a

Please sign in to comment.