From: Jonathan Cameron <jic23@kernel.org>
To: Chris Morgan <macromorgan@hotmail.com>
Cc: Krzysztof Kozlowski <krzk@kernel.org>,
Chris Morgan <macroalpha82@gmail.com>,
linux-iio@vger.kernel.org, andy@kernel.org, nuno.sa@analog.com,
dlechner@baylibre.com, jean-baptiste.maneyrol@tdk.com,
linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org,
heiko@sntech.de, conor+dt@kernel.org, krzk+dt@kernel.org,
robh@kernel.org, andriy.shevchenko@intel.com
Subject: Re: [PATCH v16 02/10] dt-bindings: iio: imu: icm42600: Remove interrupts from required
Date: Fri, 24 Jul 2026 00:02:12 +0100 [thread overview]
Message-ID: <20260724000212.775169c4@jic23-huawei> (raw)
In-Reply-To: <DS4PR19MB997335033645A4555221CC6006A5C32@DS4PR19MB997335.namprd19.prod.outlook.com>
On Mon, 20 Jul 2026 12:16:46 -0500
Chris Morgan <macromorgan@hotmail.com> wrote:
> On Sun, Jul 19, 2026 at 12:19:00AM +0100, Jonathan Cameron wrote:
> > On Wed, 15 Jul 2026 15:34:53 -0500
> > Chris Morgan <macromorgan@hotmail.com> wrote:
> >
> > > On Wed, Jul 15, 2026 at 08:29:44PM +0200, Krzysztof Kozlowski wrote:
> > > > On 15/07/2026 16:52, Chris Morgan wrote:
> > > > > On Wed, Jul 15, 2026 at 07:52:52AM +0200, Krzysztof Kozlowski wrote:
> > > > >> On Mon, Jul 13, 2026 at 04:58:32PM -0500, Chris Morgan wrote:
> > > > >>> From: Chris Morgan <macromorgan@hotmail.com>
> > > > >>>
> > > > >>> Interrupts are almost never required for IIO devices per upstream
> > > > >>> maintainers. Remove interrupt as a required parameter for the
> > > > >>> devicetree binding.
> > > > >>
> > > > >> That's an odd statement. We do require interrupts when the hardware
> > > > >> requires them. We do not require interrupts, not because we have such
> > > > >> policy, but because hardware does not require them.
> > > > >>
> > > > >> Plus, we do require interrupts when software implementing ABI requires
> > > > >> them.
> > > > >>
> > > > >> Above commit msg is simply inaccurate and misleading. Instead, please
> > > > >> use actual hardware arguments or how ABI is actually used. You must not
> > > > >> introduce changes to ABI just "because" while for example making that
> > > > >> ABI conflicting with existing implementation.
> > > > >
> > > > > I will defer then to Jonathan on the specifics of this, but from what I
> > > > > can tell:
> > > > >
> > > > > 1) The icm42600 devices don't need an interrupt for operation other
> > > > > than for buffered mode or wake on movement. One-shot should work
> > > > > without it.
> > > > >
> > > > > 2) The existing icm42600 driver does require an interrupt however, and
> > > > > refuses to bind without it. The driver could in theory be modified to
> > > > > not require an interrupt though and skip using buffered mode and WoM
> > > > > when no interrupt is present; however I don't plan on making these
> > > > > changes at this time.
> > > > >
> > > > > 3) The new icm42607 driver I'm trying to upstream does not use an
> > > > > interrupt, because on my current test device it's not even wired up.
> > > > > On future devices that I have with this chip I may pursue using an
> > > > > interrupt, but it will never be required.
> > > > >
> > > > > So should I go back to requiring the interrupt for all devices except
> > > > > for the new driver then?
> > > >
> > > > You mentioned two drivers, I don't know how does this relate to them. In
> > > > any case your commit msg is inaccurate and not a correct reason to make
> > > > a change.
> > > >
> > > > Best regards,
> > > > Krzysztof
> > >
> > > I'm confused, so again should I just go back to the way things were?
> > >
> > > This binding is to describe the hardware for devices using two distinct
> > > drivers, the inv_icm42600 and the new (that I am trying to finish)
> > > inv_icm42607 driver. The hardware requires an interrupt if you want to
> > > use features such as wake-on-motion or hardware buffers. The existing
> > > driver inv_icm42600 always assumes an interrupt is present and thus
> > > fails to probe if one is not (making it a "requirement"). The new
> > > driver I'm writing does not use the interrupt, because I don't have
> > > one.
> >
> > For dt-bindings, look at it from the question of 'is the hardware useful
> > without this interrupt?' Answer is yes for vast majority of sensors as we
> > can either reduce features but still have some useful ones, or use another
> > approach such as polling a ready flag to replace doing it with an interrupt.
> > It is very common for boards to come out where none of the interrupts are
> > wired.
> >
> > The only time I've seen that they are actually required for IIO stuff is
> > for very simple devices where the interrupt is the data - e.g. stand alone
> > threshold detectors with no ADC like functionality.
> >
> > All this is independent of the driver working without the interrupt.
> > It is fully allowed to refuse to probe because it relies on something
> > optional in the DT-binding.
> >
> > Jonathan
> >
>
> At this point (if it's okay with you) I'll just make sure the interrupt
> is not required for the new chips supported, as the distinction between
> whether the hardware needs it versus the driver is a bit lost on me;
> however for now the driver will fail on all the older chips if the
> interrupt isn't present.
Ok. We can leave relaxing the requirement for the older devices for now.
Jonathan
>
> Thank you,
> Chris
>
> >
> > >
> > > I'm thinking I'll just go back to the way it was previously, unless
> > > Jonathan disagrees. The interrupt will be listed as required for all
> > > devices using the inv_icm42600 driver, and not required for devices
> > > using the inv_icm42607 driver.
> > >
> > > Thank you.
> > >
> >
>
next prev parent reply other threads:[~2026-07-23 23:02 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-07-13 21:58 [PATCH v16 00/10] Add Invensense ICM42607 Chris Morgan
2026-07-13 21:58 ` [PATCH v16 01/10] dt-bindings: iio: imu: icm42600: Add mount-matrix Chris Morgan
2026-07-13 21:58 ` [PATCH v16 02/10] dt-bindings: iio: imu: icm42600: Remove interrupts from required Chris Morgan
2026-07-15 5:52 ` Krzysztof Kozlowski
2026-07-15 14:52 ` Chris Morgan
2026-07-15 18:29 ` Krzysztof Kozlowski
2026-07-15 20:34 ` Chris Morgan
2026-07-18 23:19 ` Jonathan Cameron
2026-07-20 17:16 ` Chris Morgan
2026-07-23 23:02 ` Jonathan Cameron [this message]
2026-07-13 21:58 ` [PATCH v16 03/10] dt-bindings: iio: imu: icm42600: Add icm42607 Chris Morgan
2026-07-13 21:58 ` [PATCH v16 04/10] iio: imu: inv_icm42607: Add inv_icm42607 Core Driver Chris Morgan
2026-07-14 10:56 ` Andy Shevchenko
2026-07-14 12:18 ` Uwe Kleine-König
2026-07-23 23:15 ` Jonathan Cameron
2026-07-13 21:58 ` [PATCH v16 05/10] iio: imu: inv_icm42607: Add SPI For icm42607 Chris Morgan
2026-07-14 11:00 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 06/10] iio: imu: inv_icm42607: Add PM support for icm42607 Chris Morgan
2026-07-14 11:25 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 07/10] iio: imu: inv_icm42607: Add Accelerometer " Chris Morgan
2026-07-14 11:20 ` Andy Shevchenko
2026-07-14 11:21 ` Andy Shevchenko
2026-07-13 21:58 ` [PATCH v16 08/10] iio: imu: inv_icm42607: Add Gyroscope to icm42607 Chris Morgan
2026-07-13 21:58 ` [PATCH v16 09/10] iio: imu: inv_icm42607: Add Temp Support in icm42607 Chris Morgan
2026-07-13 21:58 ` [PATCH v16 10/10] arm64: dts: rockchip: Add icm42607p IMU for RG-DS Chris Morgan
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=20260724000212.775169c4@jic23-huawei \
--to=jic23@kernel.org \
--cc=andriy.shevchenko@intel.com \
--cc=andy@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=dlechner@baylibre.com \
--cc=heiko@sntech.de \
--cc=jean-baptiste.maneyrol@tdk.com \
--cc=krzk+dt@kernel.org \
--cc=krzk@kernel.org \
--cc=linux-iio@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=macroalpha82@gmail.com \
--cc=macromorgan@hotmail.com \
--cc=nuno.sa@analog.com \
--cc=robh@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