From: Jonathan Cameron <jic23@kernel.org>
To: Michael Riesch <michael.riesch@wolfvision.net>
Cc: Andy Shevchenko <andriy.shevchenko@linux.intel.com>,
Gerald Loacker <gerald.loacker@wolfvision.net>,
linux-iio@vger.kernel.org, devicetree@vger.kernel.org,
linux-kernel@vger.kernel.org,
Lars-Peter Clausen <lars@metafoo.de>,
Rob Herring <robh+dt@kernel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@linaro.org>,
Jakob Hauser <jahau@rocketmail.com>,
Linus Walleij <linus.walleij@linaro.org>,
Nikita Yushchenko <nikita.yoush@cogentembedded.com>
Subject: Re: [PATCH v3 1/3] iio: add struct declarations for iio types
Date: Sat, 3 Dec 2022 17:11:31 +0000 [thread overview]
Message-ID: <20221203171131.6d096078@jic23-huawei> (raw)
In-Reply-To: <b56cdcf1-459b-63a2-a060-49564e11ce9f@wolfvision.net>
On Mon, 28 Nov 2022 15:26:51 +0100
Michael Riesch <michael.riesch@wolfvision.net> wrote:
> Hi Andy,
>
> On 11/28/22 15:05, Andy Shevchenko wrote:
> > On Mon, Nov 28, 2022 at 02:48:48PM +0100, Michael Riesch wrote:
> >> On 11/28/22 14:27, Andy Shevchenko wrote:
> >>> On Mon, Nov 28, 2022 at 01:18:04PM +0100, Gerald Loacker wrote:
> >>>> Am 25.11.2022 um 12:01 schrieb Andy Shevchenko:
> >
> > ...
> >
> >>> It's a rule to use _t for typedef:s in the kernel. That's why
> >>> I suggested to leave struct definition and only typedef the same structures
> >>> (existing) to new names (if needed).
> >>
> >> Andy, excuse our ignorance but we are not sure how this typedef approach
> >> is supposed to look like...
> >>
> >>>> or
> >>>
> >>>> typedef iio_val_int_plus_micro iio_val_int_plus_micro_db;
> >>
> >> ... because
> >>
> >> #include <stdio.h>
> >>
> >> struct iio_val_int_plus_micro {
> >> int integer;
> >> int micro;
> >> };
> >>
> >> typedef iio_val_int_plus_micro iio_val_int_plus_micro_db;
> >>
> >> int main()
> >> {
> >> struct iio_val_int_plus_micro a = { .integer = 100, .micro = 10, };
> >> struct iio_val_int_plus_micro_db b = { .integer = 20, .micro = 10, };
> >> return 0;
> >> }
> >>
> >> won't compile.
> >
> > I see. Thanks for pointing this out.
> >
> > Then the question is why do we need the two same structures with different
> > names?
>
> Most probably we don't need "struct iio_val_int_plus_micro_db" at all
> since IIO_VAL_INT_PLUS_MICRO_DB and IIO_VAL_INT_PLUS_MICRO get the same
> treatment in industrialio-core.c. At least it should not be introduced
> in the scope of this series. In the end this is up to whoever writes the
> first driver using the common data structures and IIO_VAL_INT_PLUS_MICRO_DB.
They get same treatment today because we don't attempt to deal with
IIO_VAL_INT_PLUS_MICRO_DB in conjunction with any of the analog circuit type
front ends yet. Mind you, even though the handling in iio-rescale.c will be
different if anyone ever adds support for the DB form (I shudder at the maths
of combining this with other scale factors), I don't see the possibility meaning
we need a different structure.
Jonathan
>
> Best regards,
> Michael
>
next prev parent reply other threads:[~2022-12-03 16:58 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-25 8:35 [PATCH v2 0/3] add ti tmag5273 driver Gerald Loacker
2022-11-25 8:35 ` [PATCH v3 1/3] iio: add struct declarations for iio types Gerald Loacker
2022-11-25 10:45 ` Andy Shevchenko
2022-11-25 11:01 ` Andy Shevchenko
2022-11-28 12:18 ` Gerald Loacker
2022-11-28 13:27 ` Andy Shevchenko
2022-11-28 13:48 ` Michael Riesch
2022-11-28 14:05 ` Andy Shevchenko
2022-11-28 14:26 ` Michael Riesch
2022-12-03 17:11 ` Jonathan Cameron [this message]
2022-11-25 8:35 ` [PATCH v3 2/3] dt-bindings: iio: magnetometer: add ti tmag5273 documentation file Gerald Loacker
2022-11-25 8:35 ` [PATCH v3 3/3] iio: magnetometer: add ti tmag5273 driver Gerald Loacker
2022-11-25 10:59 ` Andy Shevchenko
2022-11-25 11:00 ` Andy Shevchenko
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=20221203171131.6d096078@jic23-huawei \
--to=jic23@kernel.org \
--cc=andriy.shevchenko@linux.intel.com \
--cc=devicetree@vger.kernel.org \
--cc=gerald.loacker@wolfvision.net \
--cc=jahau@rocketmail.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=lars@metafoo.de \
--cc=linus.walleij@linaro.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=michael.riesch@wolfvision.net \
--cc=nikita.yoush@cogentembedded.com \
--cc=robh+dt@kernel.org \
/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;
as well as URLs for NNTP newsgroup(s).