From: Jonathan Cameron <jic23@kernel.org>
To: Sean Anderson <sean.anderson@linux.dev>
Cc: "Andy Shevchenko" <andriy.shevchenko@intel.com>,
"Jean Delvare" <jdelvare@suse.com>,
"Guenter Roeck" <linux@roeck-us.net>,
linux-iio@vger.kernel.org, linux-hwmon@vger.kernel.org,
"Andy Shevchenko" <andy@kernel.org>,
"Nuno Sá" <nuno.sa@analog.com>,
linux-kernel@vger.kernel.org,
"David Lechner" <dlechner@baylibre.com>
Subject: Re: [PATCH 2/7] iio: inkern: Add API for reading/writing events
Date: Sun, 27 Jul 2025 16:55:34 +0100 [thread overview]
Message-ID: <20250727165534.6756b052@jic23-huawei> (raw)
In-Reply-To: <f180b5ac-131f-474a-be5e-70787972a772@linux.dev>
On Thu, 17 Jul 2025 12:42:13 -0400
Sean Anderson <sean.anderson@linux.dev> wrote:
> On 7/16/25 05:28, Andy Shevchenko wrote:
> > On Tue, Jul 15, 2025 at 11:42:05AM -0400, Sean Anderson wrote:
> >> On 7/15/25 04:18, Andy Shevchenko wrote:
> >> > On Mon, Jul 14, 2025 at 09:20:18PM -0400, Sean Anderson wrote:
> >
> > ...
> >
> >> >> +EXPORT_SYMBOL_GPL(iio_event_mode);
> >> >
> >> > Can we move this to namespace? Otherwise it will be never ending story...
> >> > Ditto for other new APIs.
> >>
> >> Never ending story of what?
> >
> > Of converting IIO core to use exported namespaces.
>
> What's the purpose?
Aim here is in general to reduce the massive exposed ABI by applying some
namespaces so that only drivers that opt in to specific functionality
can use particular symbols.
We've used it extensively for groups of related drivers and to some
libraries and the DMA buffers, but so far not pushed it into the IIO core.
I'd be fine with these new functions all being under IIO_CONSUMER or similar.
Quite a bit of feedback on this set will be of the lines of don't do it
the way we did it before as now we know better!
>
> >> >> + if (scale64 <= INT_MAX && scale64 >= INT_MIN)
> >> >> + raw64 = processed / (int)scale64;
> >> >
> >> > Do you need the casting? (I mean if the compiler is dumb enough to not see this)
> >>
> >> AIUI 64-bit division is not available on 32-bit platforms. The cast
> >> ensures we get 32-bit division.
> >
> > I put specifically a remark in the parentheses. So, the Q is if the compiler
> > doesn't recognize that. Can you confirm that 32-bit compilation without cast
> > is broken?
>
> inkern.c:(.text.iio_write_event_processed_scale+0x14c): undefined reference to `__aeabi_ldivmod'
>
> >> >> + *raw = clamp(raw64, (s64)INT_MIN, (s64)INT_MAX);
> >> >
> >> > You already have similar approach here...
> >>
> >> Well, I can spell it 0x7fffffffLL if you'd like...
> >
> > Nope, I like to have named constants instead of magics, but actually are those
> > castings needed for the clamp()?
>
> Apparently not. The checks in __clamp_once are only for matching signedness. And
> the ints are promoted to s64s when the comparison is made.
>
> --Sean
next prev parent reply other threads:[~2025-07-27 15:55 UTC|newest]
Thread overview: 62+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-15 1:20 [PATCH 0/7] hwmon: iio: Add alarm support Sean Anderson
2025-07-15 1:20 ` [PATCH 1/7] math64: Add div64_s64_rem Sean Anderson
2025-07-15 8:03 ` Andy Shevchenko
2025-07-15 17:36 ` Sean Anderson
2025-07-16 10:15 ` Andy Shevchenko
2025-07-15 1:20 ` [PATCH 2/7] iio: inkern: Add API for reading/writing events Sean Anderson
2025-07-15 8:18 ` Andy Shevchenko
2025-07-15 15:42 ` Sean Anderson
2025-07-16 9:28 ` Andy Shevchenko
2025-07-17 16:42 ` Sean Anderson
2025-07-27 15:55 ` Jonathan Cameron [this message]
2025-07-15 10:35 ` Nuno Sá
2025-07-15 15:43 ` Sean Anderson
2025-07-16 6:23 ` Nuno Sá
2025-07-27 16:13 ` Jonathan Cameron
2025-07-15 1:20 ` [PATCH 3/7] iio: Add in-kernel API for events Sean Anderson
2025-07-15 8:20 ` Andy Shevchenko
2025-07-15 15:47 ` Sean Anderson
2025-07-16 9:47 ` Andy Shevchenko
2025-07-15 11:09 ` Nuno Sá
2025-07-15 16:52 ` Sean Anderson
2025-07-27 16:21 ` Jonathan Cameron
2025-07-28 22:44 ` Sean Anderson
2025-07-29 18:33 ` Jonathan Cameron
2025-07-29 20:09 ` Sean Anderson
2025-07-31 12:59 ` Jonathan Cameron
2025-07-27 16:24 ` Jonathan Cameron
2025-07-15 1:20 ` [PATCH 4/7] hwmon: iio: Refactor scale calculation into helper Sean Anderson
2025-07-15 8:35 ` Andy Shevchenko
2025-07-15 1:20 ` [PATCH 5/7] hwmon: iio: Add helper function for creating attributes Sean Anderson
2025-07-15 8:38 ` Andy Shevchenko
2025-07-15 15:55 ` Sean Anderson
2025-07-16 10:00 ` Andy Shevchenko
2025-07-27 16:31 ` Jonathan Cameron
2025-07-15 1:20 ` [PATCH 6/7] hwmon: iio: Add min/max support Sean Anderson
2025-07-15 8:41 ` Andy Shevchenko
2025-07-15 16:05 ` Sean Anderson
2025-07-16 10:01 ` Andy Shevchenko
2025-07-17 16:11 ` Sean Anderson
2025-07-27 16:35 ` Jonathan Cameron
2025-07-28 22:32 ` Sean Anderson
2025-07-29 18:37 ` Jonathan Cameron
2025-07-15 1:20 ` [PATCH 7/7] hwmon: iio: Add alarm support Sean Anderson
2025-07-15 8:50 ` Andy Shevchenko
2025-07-15 16:20 ` Sean Anderson
2025-07-16 10:08 ` Andy Shevchenko
2025-07-17 16:23 ` Sean Anderson
2025-07-21 7:42 ` Andy Shevchenko
2025-07-21 14:24 ` Sean Anderson
2025-07-15 11:28 ` Nuno Sá
2025-07-15 17:02 ` Sean Anderson
2025-07-15 19:26 ` Guenter Roeck
2025-07-15 19:40 ` Sean Anderson
2025-07-16 6:37 ` Nuno Sá
2025-07-17 16:00 ` Sean Anderson
2025-07-31 10:52 ` Nuno Sá
2025-08-02 10:53 ` Jonathan Cameron
2025-07-15 16:13 ` kernel test robot
2025-07-15 19:34 ` Guenter Roeck
2025-07-15 20:08 ` Sean Anderson
2025-07-16 7:44 ` kernel test robot
2025-07-27 16:50 ` 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=20250727165534.6756b052@jic23-huawei \
--to=jic23@kernel.org \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=dlechner@baylibre.com \
--cc=jdelvare@suse.com \
--cc=linux-hwmon@vger.kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@roeck-us.net \
--cc=nuno.sa@analog.com \
--cc=sean.anderson@linux.dev \
/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