Re: [PATCH 2/2] iio: adc: ti-ads112c14: add continuous mode support

David Lechner <[email protected]>
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <[email protected]>
On 7/26/26 8:45 PM, Jonathan Cameron wrote:
> On Fri, 24 Jul 2026 15:13:11 -0500
> "David Lechner (TI)" <[email protected]> wrote:
> 
>> Add support for continuous mode in the TI ADS112C14 ADC driver. In this
>> mode the ADC itself is starting each conversion, so we add a trigger
>> based on the DRDY interrupt to read each sample. This mode is also
>> limited in that only one channel can be enabled at a time since the
>> chip does not have a sequencer or simultaneous sampling capability.
>> Continuous mode will only be used when this new trigger is the current
>> trigger.
>>

...

>> +static int ads112c14_buffer_predisable(struct iio_dev *indio_dev)
>> +{
>> +	struct ads112c14_data *data = iio_priv(indio_dev);
>> +	int ret, ret2;
>> +
>> +	if (!ads112c14_using_drdy_trigger(indio_dev))
>> +		return 0;
>> +
>> +	guard(mutex)(&data->lock);
>> +
>> +	ret = regmap_write(data->regmap, ADS112C14_REG_CONVERSION_CTRL,
>> +			   ADS112C14_CONVERSION_CTRL_STOP);
>> +	ret2 = regmap_assign_bits(data->regmap, ADS112C14_REG_DEVICE_CFG,
>> +				  ADS112C14_DEVICE_CFG_CONV_MODE,
>> +				  ADS112C14_DEVICE_CFG_CONV_MODE_SINGLE_SHOT);
> 
> This is odd looking code. Needs comments on why we should prefer returning
> the error for the second call over that for the first.

It is arbitrary, I just went with first error wins.

Other option would be to return early since the hardware is going to
be in a broken state anyway.

> 
>> +	if (ret2)
>> +		return ret2;
>> +
>> +	return ret;
>> +}
> 
>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.