diff options
Diffstat (limited to 'drivers/iio/adc/ad7887.c')
| -rw-r--r-- | drivers/iio/adc/ad7887.c | 31 | 
1 files changed, 16 insertions, 15 deletions
diff --git a/drivers/iio/adc/ad7887.c b/drivers/iio/adc/ad7887.c index 9dd077b7875..749a6cadab8 100644 --- a/drivers/iio/adc/ad7887.c +++ b/drivers/iio/adc/ad7887.c @@ -78,11 +78,6 @@ enum ad7887_supported_device_ids {  static int ad7887_ring_preenable(struct iio_dev *indio_dev)  {  	struct ad7887_state *st = iio_priv(indio_dev); -	int ret; - -	ret = iio_sw_buffer_preenable(indio_dev); -	if (ret < 0) -		return ret;  	/* We know this is a single long so can 'cheat' */  	switch (*indio_dev->active_scan_mask) { @@ -121,20 +116,14 @@ static irqreturn_t ad7887_trigger_handler(int irq, void *p)  	struct iio_poll_func *pf = p;  	struct iio_dev *indio_dev = pf->indio_dev;  	struct ad7887_state *st = iio_priv(indio_dev); -	s64 time_ns;  	int b_sent;  	b_sent = spi_sync(st->spi, st->ring_msg);  	if (b_sent)  		goto done; -	time_ns = iio_get_time_ns(); - -	if (indio_dev->scan_timestamp) -		memcpy(st->data + indio_dev->scan_bytes - sizeof(s64), -		       &time_ns, sizeof(time_ns)); - -	iio_push_to_buffers(indio_dev, st->data); +	iio_push_to_buffers_with_timestamp(indio_dev, st->data, +		iio_get_time_ns());  done:  	iio_trigger_notify_done(indio_dev->trig); @@ -211,7 +200,13 @@ static const struct ad7887_chip_info ad7887_chip_info_tbl[] = {  			.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE),  			.address = 1,  			.scan_index = 1, -			.scan_type = IIO_ST('u', 12, 16, 0), +			.scan_type = { +				.sign = 'u', +				.realbits = 12, +				.storagebits = 16, +				.shift = 0, +				.endianness = IIO_BE, +			},  		},  		.channel[1] = {  			.type = IIO_VOLTAGE, @@ -221,7 +216,13 @@ static const struct ad7887_chip_info ad7887_chip_info_tbl[] = {  			.info_mask_shared_by_type = BIT(IIO_CHAN_INFO_SCALE),  			.address = 0,  			.scan_index = 0, -			.scan_type = IIO_ST('u', 12, 16, 0), +			.scan_type = { +				.sign = 'u', +				.realbits = 12, +				.storagebits = 16, +				.shift = 0, +				.endianness = IIO_BE, +			},  		},  		.channel[2] = IIO_CHAN_SOFT_TIMESTAMP(2),  		.int_vref_mv = 2500,  | 
