Devicetree
 help / color / mirror / Atom feed
From: Jonathan Cameron <jonathan.cameron@oss.qualcomm.com>
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: Sun, 19 Jul 2026 00:19:00 +0100	[thread overview]
Message-ID: <20260719001848.435886e0@jic23-huawei> (raw)
In-Reply-To: <PH0PR19MB99733836951FBC9755A5361641A5F82@PH0PR19MB997338.namprd19.prod.outlook.com>

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


> 
> 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.
> 


  reply	other threads:[~2026-07-18 23:19 UTC|newest]

Thread overview: 27+ 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-13 22:08   ` sashiko-bot
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 [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-13 22:18   ` sashiko-bot
2026-07-14 10:56   ` Andy Shevchenko
2026-07-14 12:18   ` Uwe Kleine-König
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-13 22:22   ` sashiko-bot
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-13 22:16   ` sashiko-bot
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 22:13   ` sashiko-bot
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=20260719001848.435886e0@jic23-huawei \
    --to=jonathan.cameron@oss.qualcomm.com \
    --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