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; > >> +} > > > >