Re: [PATCH v3 5/5] meson saradc: support reading from channel 7 mux inputs

From: Jonathan Cameron
Date: Wed Jul 05 2023 - 04:04:34 EST


On Tue, 4 Jul 2023 04:59:51 +0300
George Stark <gnstark@xxxxxxxxxxxxxx> wrote:

> Hello Martin, Jonathan
>
> On 7/3/23 22:39, Martin Blumenstingl wrote:
> > Hi Jonathan,
> >
> > On Sun, Jul 2, 2023 at 11:21 AM Jonathan Cameron
> > <Jonathan.Cameron@xxxxxxxxxx> wrote:
> > [...]
> >>> @@ -235,6 +249,27 @@ enum meson_sar_adc_channel_index {
> >>> NUM_CHAN_7,
> >>> NUM_CHAN_TEMP,
> >>> NUM_CHAN_SOFT_TIMESTAMP,
> >> Silly question... Why does this device have timestamp channels?
> >> It has no buffer support so they don't 'do anything'.
> >> If it had then putting other channels after that might have broken
> >> things if not done very carefully (hence I went looking)
> > This question is probably for me (not George).
> > The answer is simple: when I wrote the Meson SAR ADC driver I looked
> > at various other drivers (but can't recall which ones exactly). One of
> > them probably used a soft timestamp channel so I also added that to
> > meson_saradc. Since "it didn't break anything" I thought it would be
> > fine.
> >
> > Newer SAR ADC IP blocks have buffer support, but that's not
> > implemented in the driver (yet).
> > So if I understand you correctly we can drop the soft timestamp
> > channel (with a dedicated patch in this series)?
yes. I think dropping it would be sensible.
>
> One short comment: newly-added channels probably won't support buffering
> because physically they all are read thru channel7. We'll be able to add
> buffering only to base old channels and they are still defined before
> CHAN_SOFT_TIMESTAMP (if this is you're wary about).
>

That is a common situation. If adding buffering support any channels that
are not suitable for buffered access are given scan_index = -1 at which
point they are sysfs / polled in kernel access only.

Jonathan

> > Best regards,
> > Martin
>