RE: [PATCH v5 3/3] drivers: iio: adc: add support for ad777x family

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello all,

Just a minor question
...
>
>> +
>> +static irqreturn_t ad7779_trigger_handler(int irq, void *p) {
>> +	struct iio_poll_func *pf = p;
>> +	struct iio_dev *indio_dev = pf->indio_dev;
>> +	struct ad7779_state *st = iio_priv(indio_dev);
>> +	int ret;
>> +	int bit;
>> +	int k = 0;
>> +	/*
>> +	 * Each channel shifts out HEADER + 24 bits of data therefore 8 * u32
>> +	 * for the data and 64 bits for the timestamp
>> +	 */
>> +	u32 tmp[10];
>> +
>> +	struct spi_transfer sd_readback_tr[] = {
>> +		{
>> +			.rx_buf = st->spidata_rx,
>> +			.tx_buf = st->spidata_tx,
>> +			.len = AD7779_NUM_CHANNELS * AD7779_CHAN_DATA_SIZE,
>> +		}
>> +	};
>> +
>> +	if (!iio_buffer_enabled(indio_dev))
>> +		goto exit_handler;
>
>If buffers aren't enabled, the push to buffers won't do anything. So this race shouldn't matter.  If it does, what happens?
>I'm curious because I'd expect any races that cause trouble in this case to be pretty universal across drivers.

I added that condition rather because the DRDY pulse will keep on being generated even when the buffers are not active,
and it would be better to exit the function sooner. I tested it and it does not break to remove the condition, I just
thought it made more sense like this. Should I delete it?

>....

Best regards,
Ramona Nechita







[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux