|
@@ -248,12 +248,14 @@ static irqreturn_t at91_adc_trigger_handler(int irq, void *p)
|
|
struct iio_poll_func *pf = p;
|
|
struct iio_poll_func *pf = p;
|
|
struct iio_dev *idev = pf->indio_dev;
|
|
struct iio_dev *idev = pf->indio_dev;
|
|
struct at91_adc_state *st = iio_priv(idev);
|
|
struct at91_adc_state *st = iio_priv(idev);
|
|
|
|
+ struct iio_chan_spec const *chan;
|
|
int i, j = 0;
|
|
int i, j = 0;
|
|
|
|
|
|
for (i = 0; i < idev->masklength; i++) {
|
|
for (i = 0; i < idev->masklength; i++) {
|
|
if (!test_bit(i, idev->active_scan_mask))
|
|
if (!test_bit(i, idev->active_scan_mask))
|
|
continue;
|
|
continue;
|
|
- st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, i));
|
|
|
|
|
|
+ chan = idev->channels + i;
|
|
|
|
+ st->buffer[j] = at91_adc_readl(st, AT91_ADC_CHAN(st, chan->channel));
|
|
j++;
|
|
j++;
|
|
}
|
|
}
|
|
|
|
|