On Thu, Oct 17, 2024 at 8:51 PM Jonathan Cameron <jic23@xxxxxxxxxx> wrote: > > On Thu, 19 Sep 2024 16:04:40 +0300 > Alexandru Ardelean <aardelean@xxxxxxxxxxxx> wrote: > > > For SW mode, the oversampling and scales attributes are always present. > > So, they can be implemented via a 'read_avail' hook in iio_info. > > > > For HW mode, it's a bit tricky, as these attributes get assigned based on > > GPIO definitions. > > > > So, for SW mode, we define a separate AD7606_SW_CHANNEL() macro, and use > > that for the SW channels. > > And 'ad7606_info_os_range_and_debug' can be renamed to > > 'ad7606_info_sw_mode' as it is only used for SW mode. > > > > For the 'read_avail' hook, we'll need to allocate the SW scales, so that > > they are just returned userspace without any extra processing. > > The allocation will happen when then ad7606_state struct is allocated. > > The oversampling available parameters don't need any extra processing; they > > can just be passed back to userspace (as they are). > > > > Signed-off-by: Alexandru Ardelean <aardelean@xxxxxxxxxxxx> > > --- > > drivers/iio/adc/ad7606.c | 52 ++++++++++++++++++++++++++++++++++--- > > drivers/iio/adc/ad7606.h | 32 ++++++++++++++++++++--- > > drivers/iio/adc/ad7606_spi. | 0 > > Magic empty file :( oops apologies for that; this looks like it could be a job for a CI check (or checkpatch?) > > Sending a patch shortly and already queued up.