From: Tomas Melin <tomas.melin@vaisala.com>
To: "Nuno Sá" <noname.nuno@gmail.com>, "Jonathan Cameron" <jic23@kernel.org>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>,
Nuno Sa <nuno.sa@analog.com>,
Lars-Peter Clausen <lars@metafoo.de>,
David Lechner <dlechner@baylibre.com>,
Andy Shevchenko <andy@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 2/2] iio: adc: ad9467: make iio backend optional
Date: Tue, 13 Jan 2026 13:49:18 +0200 [thread overview]
Message-ID: <39f4b68b-0bbc-4c41-a8ee-206209900a66@vaisala.com> (raw)
In-Reply-To: <f4cd3b85c47b2829cc54c514dffd254433f796e4.camel@gmail.com>
Hi,
On 13/01/2026 12:52, Nuno Sá wrote:
> On Tue, 2026-01-13 at 09:47 +0200, Tomas Melin wrote:
>> Hi,
>>
>> On 12/01/2026 15:21, Nuno Sá wrote:
>>> On Sun, 2026-01-11 at 11:41 +0000, Jonathan Cameron wrote:
>>>> On Mon, 05 Jan 2026 14:57:02 +0000
>>>> Nuno Sá <noname.nuno@gmail.com> wrote:
>>>>
>>>>> On Mon, 2026-01-05 at 13:06 +0200, Tomas Melin wrote:
>>>>
>>>> When we say the backend needs no driver, where does the data end up?
>>>> Is the idea that it goes into some processing pipeline and sent to
>>>> some external path that we have no visibility of? i.e. We configure the
>>>> data capture in Linux but never see the data?
>>>
>>> Yes, that's also my assumption about Tomas's usecase.
>>
>> The data becomes available to user space but there is currently no
>> immediate need or natural place to create a separate instance to
>> function as a backend device.
>
> So do you have some completely different data path bypassing IIO (just curious)?
Yes, IP handles data reception and data transfer outside of iio context.
>
>>
>> But that being said, I'm leaning towards thinking that perhaps a
>> minimalistic backend should always be registered after all. That would
>> keep the idea of the backend always existing intact.
>> But since the backend can be missing a lot of the features defined for
>> the current ADI backend, capability handling would need to be added to
>> the backend framework to make it functional.
>>
>> Looking into how this could be achieved with reasonable impact, I have
>> tried to identify capabilities that we could add for starters, and then
>> have the frontend behave differently depending on what features are present.
>>
>> Something like this (added to backend_info),
>> .caps = IIO_BACKEND_CAP_TEST_PATTERNS | --> backend patterns are avail.
>> IIO_BACKEND_CAP_BUFFERING | --> backend has buffering cap.
>> IIO_BACKEND_CAP_CALIBRATION, --> backend supports calibration
>>
>
> Looks reasonable but I'm still a bit afraid to open this can of worms. But as Jonathan
> pointed out multiple times on the backend code, this is mostly inkernel interfaces so
> it is easier to deal with bad choices :).
I understand this concern, but would anticipate that there are only a
limited number of capabilties that need to be handled, so it should stay
fairly managable.
>
>
> We would still need to "combine" these capabilities feature with a dummy backend that
> would dummy implement the more common/expected like (chan)enable/disable and so on.
I think the dummy backend is probably not gonna be needed as the current
axi backend can advertise the available set of capabilities. The
frontends are then free to make use of the capability bits as needed.
In my use case, I need to implement a limited backend that does not
claim any capabilities but only provides a minimum set of functionality.
Thanks,
Tomas
>
> We can then decide on a usecase by usecase basis on what should be a capability or what
> should be dummy implemented.
>
> Bottom line, I'm leaning on "I'm ok with the above" since I expect usecases like this to
> be fairly rare (famous last words :)). And It would be nice to have more feedback
> on this one.
>
> - Nuno Sá
>
next prev parent reply other threads:[~2026-01-13 11:49 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-12-16 11:40 [PATCH 0/2] iio: adc: ad9467: Enable operation without iio-backend Tomas Melin
2025-12-16 11:40 ` [PATCH 1/2] iio: adc: ad9467: include two's complement in default mode Tomas Melin
2025-12-18 13:43 ` Nuno Sá
2025-12-20 3:28 ` kernel test robot
2025-12-20 5:13 ` kernel test robot
2025-12-21 19:54 ` Jonathan Cameron
2025-12-16 11:40 ` [PATCH 2/2] iio: adc: ad9467: make iio backend optional Tomas Melin
2025-12-16 12:56 ` Nuno Sá
2025-12-16 15:39 ` Tomas Melin
2025-12-16 21:27 ` David Lechner
2025-12-17 5:38 ` Tomas Melin
2025-12-17 9:26 ` Nuno Sá
2025-12-17 10:39 ` Tomas Melin
2025-12-17 11:44 ` Tomas Melin
2025-12-18 13:41 ` Nuno Sá
2025-12-19 11:25 ` Tomas Melin
2025-12-18 13:49 ` Nuno Sá
2025-12-19 11:16 ` Tomas Melin
2025-12-19 14:46 ` Nuno Sá
2025-12-21 20:00 ` Jonathan Cameron
2026-01-05 11:06 ` Tomas Melin
2026-01-05 14:57 ` Nuno Sá
2026-01-11 11:41 ` Jonathan Cameron
2026-01-12 13:21 ` Nuno Sá
2026-01-13 7:47 ` Tomas Melin
2026-01-13 10:00 ` Jonathan Cameron
2026-01-13 10:52 ` Nuno Sá
2026-01-13 11:49 ` Tomas Melin [this message]
2026-01-13 12:44 ` Nuno Sá
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=39f4b68b-0bbc-4c41-a8ee-206209900a66@vaisala.com \
--to=tomas.melin@vaisala.com \
--cc=Michael.Hennerich@analog.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jic23@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=noname.nuno@gmail.com \
--cc=nuno.sa@analog.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox