From: Matti Vaittinen <mazziesaccount@gmail.com>
To: Lars-Peter Clausen <lars@metafoo.de>,
David Lechner <dlechner@baylibre.com>,
Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
Cc: Michael Hennerich <Michael.Hennerich@analog.com>,
Jonathan Cameron <jic23@kernel.org>,
linux-iio@vger.kernel.org, linux-kernel@vger.kernel.org
Subject: Re: iio: dac: ad5624r_spi.c - use of scan_type
Date: Thu, 19 Dec 2024 08:05:17 +0200 [thread overview]
Message-ID: <c1795ffa-c2e7-428f-8897-2b8846e9fa44@gmail.com> (raw)
In-Reply-To: <296d9e03-1153-4589-95b8-87195d7bbdef@baylibre.com>
On 18/12/2024 22:53, David Lechner wrote:
> On 12/18/24 2:38 AM, Matti Vaittinen wrote:
>> Hi dee Ho peeps,
>>
>> I started drafting a driver for a ROHM DAC. I took a quick look at the ad5624r_spi.c, and the use of the 'scan_type' -field in the struct iio_chan_spec puzzled me.
>>
>> I think this field is used by the driver to convert the data from user to register format while performing the INDIO_DIRECT_MODE raw writes. I don't spot any buffer usage. Furthermore, as far as I can say the 'sign' and 'storagebits' are unused.
>>
>> My understanding has been that the scan_type is only intended for parsing the buffered values, and usually when the data direction is from driver to user.
>>
>> I suppose I shouldn't copy the ad5624r_spi.c use of scan_type to a new driver. I'm somewhat tempted to send a patch which drops the scan_type from the ad5624r_spi.c, and adds the 'realbits' and 'shift' to the driver's internal struct ad5624r_state. This, however, will change the interface to userland so maybe it's best to not do that.
I think I was wrong here. I suppose plain scan_type population does not
result user visible entries if buffer is not created. So, confusion
stays in driver - but it also means changes wouldn't impact the userland.
>>
>> I wonder if I am missing something? (That wouldn't be unheard of XD). If not, then at least a documentary patch with a comment "don't do this in new drivers" might be Ok, or how do you see this?
>>
>> Yours,
>> -- Matti
>>
>
> I think scan_type is a convenient place to store this information even if
> buffers aren't implemented. The struct is there whether we use it or not,
Valid point.
> so
> might as well use it. And if buffer support is ever added, that is one less
> thing to do (removing the duplicate fields).
I find populating the scan_type still somewhat confusing for a reader.
Kinda willing to hear what Jonathan thinks of it, he probably has
broadest view on how to keep things consistent in IIO. If it is usual to
use the scan_type without buffer, then this is totally fine with me.
I suppose the shifts and amount of bits are constants? In that regard
one could also just use a define, which would make it possible to not
add this information to any of the structs.
Out of the curiosity, do we use 'input buffers' in IIO? This far I've
mostly worked with IIO devices focusing on output.
Thanks for sharing your opinion!
Yours,
-- Matti
next prev parent reply other threads:[~2024-12-19 6:05 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-12-18 8:38 iio: dac: ad5624r_spi.c - use of scan_type Matti Vaittinen
2024-12-18 20:53 ` David Lechner
2024-12-19 6:05 ` Matti Vaittinen [this message]
2024-12-19 12:20 ` Jonathan Cameron
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=c1795ffa-c2e7-428f-8897-2b8846e9fa44@gmail.com \
--to=mazziesaccount@gmail.com \
--cc=Michael.Hennerich@analog.com \
--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=matti.vaittinen@fi.rohmeurope.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