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

Jonathan Cameron <[email protected]>
Newsgroups org.kernel.vger.linux-iio,org.kernel.vger.linux-kernel
Message-ID <20260727221822.554f7b4e@jic23-huawei>
On Mon, 27 Jul 2026 08:45:57 -0500
David Lechner <[email protected]> wrote:

> 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.

?  Looks like second error wins to me!

> 
> Other option would be to return early since the hardware is going to
> be in a broken state anyway.
I'd go for that.

> 
> >   
> >> +	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.