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 :( Sending a patch shortly and already queued up.