[PATCH v5 0/6] io: accel: mma8452: Allow open drain interrupt pin configuration

Esben Haabendal posted 6 patches 1 month, 1 week ago
Only 3 patches received!
There is a newer version of this series
.../devicetree/bindings/iio/accel/fsl,mma8452.yaml |  6 ++
drivers/iio/accel/mma8452.c                        | 98 ++++++++++++++++------
2 files changed, 80 insertions(+), 24 deletions(-)
[PATCH v5 0/6] io: accel: mma8452: Allow open drain interrupt pin configuration
Posted by Esben Haabendal 1 month, 1 week ago
Extend the mma8452 driver with support for configuration of the
interrupt line in open-drain mode, which is needed for hardware designs
where the interrupt line is shared with other chips.

Adding drive-open-drain property to mma8452 device-tree node for such
designs to enable switching pin configuration to open-drain mode.

Signed-off-by: Esben Haabendal <esben@geanix.com>
---
Changes in v5:
- Squashed dev_err_probe() call to one line.
- Fixed typo in patch 2 title.
- Added synchronization between runtime suspend and interrupt handler.
- Link to v4: https://patch.msgid.link/20260812-mma8452-open-drain-v4-0-bfca15d02b59@geanix.com

Changes in v4:
- Fixed interrupt handler to check runtime PM status before trying to
  access the chip.
- Split open-drain support and interrupt sharing into separate patches.
- Added new patch to reuse existing struct device * through mma8452_probe()
  function.
- Print warning message when irq type is not set by firmware.
- Link to v3: https://patch.msgid.link/20260805-mma8452-open-drain-v3-0-6149f406a409@geanix.com

Changes in v3:
- Reordered patches, swapping #2 and #3.
- Always add IRQF_SHARED flag.
- New patch to change it so IQRF_TRIGGER_LOW flag is only added when no
  trigger type is set by firmware.
- Link to v2: https://patch.msgid.link/20260715-mma8452-open-drain-v2-0-95be9f5f4795@geanix.com

Changes in v2:
- Commit message of patch 2 updated.
- Operator precedence bug fixed in flags argument to
  request_threaded_irq().
- Always check return value of mma8452_set_interrupt_pin_mode(), and just
  check for non-zero value.
- Added new patch with optimization of struct mma8452_data ordering.
- Link to v1: https://patch.msgid.link/20260715-mma8452-open-drain-v1-0-b1dd2a440c60@geanix.com

To: Jonathan Cameron <jic23@kernel.org>
To: Lars-Peter Clausen <lars@metafoo.de>
To: Rob Herring <robh@kernel.org>
To: Krzysztof Kozlowski <krzk+dt@kernel.org>
To: Conor Dooley <conor+dt@kernel.org>
To: Martin Kepplinger <martink@posteo.de>
To: Sean Nyekjaer <sean@geanix.com>
To: David Lechner <dlechner@baylibre.com>
To: Nuno Sá <nuno.sa@analog.com>
To: Andy Shevchenko <andy@kernel.org>
To: Martin Kepplinger <martin.kepplinger@theobroma-systems.com>
Cc: linux-iio@vger.kernel.org
Cc: devicetree@vger.kernel.org
Cc: linux-kernel@vger.kernel.org

---
Esben Haabendal (6):
      dt-bindings: iio: accel: mma8452: Add drive-open-drain
      iio: accel: mma8452: Optimize struct mma8452_data member orders
      iio: accel: mma8452: Only apply trigger type when not set by firmware
      iio: accel: mma8452: Support interrupt sharing
      iio: accel: mma8452: Allow open drain interrupt pin configuration
      iio: accel: mma8452: Reuse existing dev pointer in mma8452_probe()

 .../devicetree/bindings/iio/accel/fsl,mma8452.yaml |  6 ++
 drivers/iio/accel/mma8452.c                        | 98 ++++++++++++++++------
 2 files changed, 80 insertions(+), 24 deletions(-)
---
base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
change-id: 20250401-mma8452-open-drain-81577c41375c

Best regards,
--  
Esben Haabendal <esben@geanix.com>

Re: [PATCH v5 0/6] io: accel: mma8452: Allow open drain interrupt pin configuration
Posted by Jonathan Cameron 1 month, 1 week ago
On Mon, 17 Aug 2026 19:20:22 +0200
Esben Haabendal <esben@geanix.com> wrote:

> Extend the mma8452 driver with support for configuration of the
> interrupt line in open-drain mode, which is needed for hardware designs
> where the interrupt line is shared with other chips.
> 
> Adding drive-open-drain property to mma8452 device-tree node for such
> designs to enable switching pin configuration to open-drain mode.
> 
> Signed-off-by: Esben Haabendal <esben@geanix.com>

Hi Esben,

Seems something throttled your mail. Only 0-3 made it to the list.
Please resend and mark it [RESEND PATCH ...
with a brief statement of why in the cover letter.

Thanks

Jonathan

> ---
> Changes in v5:
> - Squashed dev_err_probe() call to one line.
> - Fixed typo in patch 2 title.
> - Added synchronization between runtime suspend and interrupt handler.
> - Link to v4: https://patch.msgid.link/20260812-mma8452-open-drain-v4-0-bfca15d02b59@geanix.com
> 
> Changes in v4:
> - Fixed interrupt handler to check runtime PM status before trying to
>   access the chip.
> - Split open-drain support and interrupt sharing into separate patches.
> - Added new patch to reuse existing struct device * through mma8452_probe()
>   function.
> - Print warning message when irq type is not set by firmware.
> - Link to v3: https://patch.msgid.link/20260805-mma8452-open-drain-v3-0-6149f406a409@geanix.com
> 
> Changes in v3:
> - Reordered patches, swapping #2 and #3.
> - Always add IRQF_SHARED flag.
> - New patch to change it so IQRF_TRIGGER_LOW flag is only added when no
>   trigger type is set by firmware.
> - Link to v2: https://patch.msgid.link/20260715-mma8452-open-drain-v2-0-95be9f5f4795@geanix.com
> 
> Changes in v2:
> - Commit message of patch 2 updated.
> - Operator precedence bug fixed in flags argument to
>   request_threaded_irq().
> - Always check return value of mma8452_set_interrupt_pin_mode(), and just
>   check for non-zero value.
> - Added new patch with optimization of struct mma8452_data ordering.
> - Link to v1: https://patch.msgid.link/20260715-mma8452-open-drain-v1-0-b1dd2a440c60@geanix.com
> 
> To: Jonathan Cameron <jic23@kernel.org>
> To: Lars-Peter Clausen <lars@metafoo.de>
> To: Rob Herring <robh@kernel.org>
> To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> To: Conor Dooley <conor+dt@kernel.org>
> To: Martin Kepplinger <martink@posteo.de>
> To: Sean Nyekjaer <sean@geanix.com>
> To: David Lechner <dlechner@baylibre.com>
> To: Nuno Sá <nuno.sa@analog.com>
> To: Andy Shevchenko <andy@kernel.org>
> To: Martin Kepplinger <martin.kepplinger@theobroma-systems.com>
> Cc: linux-iio@vger.kernel.org
> Cc: devicetree@vger.kernel.org
> Cc: linux-kernel@vger.kernel.org
> 
> ---
> Esben Haabendal (6):
>       dt-bindings: iio: accel: mma8452: Add drive-open-drain
>       iio: accel: mma8452: Optimize struct mma8452_data member orders
>       iio: accel: mma8452: Only apply trigger type when not set by firmware
>       iio: accel: mma8452: Support interrupt sharing
>       iio: accel: mma8452: Allow open drain interrupt pin configuration
>       iio: accel: mma8452: Reuse existing dev pointer in mma8452_probe()
> 
>  .../devicetree/bindings/iio/accel/fsl,mma8452.yaml |  6 ++
>  drivers/iio/accel/mma8452.c                        | 98 ++++++++++++++++------
>  2 files changed, 80 insertions(+), 24 deletions(-)
> ---
> base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
> change-id: 20250401-mma8452-open-drain-81577c41375c
> 
> Best regards,
> --  
> Esben Haabendal <esben@geanix.com>
> 
Re: [PATCH v5 0/6] io: accel: mma8452: Allow open drain interrupt pin configuration
Posted by Esben Haabendal 1 month, 1 week ago
On Wednesday, 19 August 2026 at 03:36, Jonathan Cameron <jic23@kernel.org> wrote:

> On Mon, 17 Aug 2026 19:20:22 +0200
> Esben Haabendal <esben@geanix.com> wrote:
> 
> > Extend the mma8452 driver with support for configuration of the
> > interrupt line in open-drain mode, which is needed for hardware designs
> > where the interrupt line is shared with other chips.
> >
> > Adding drive-open-drain property to mma8452 device-tree node for such
> > designs to enable switching pin configuration to open-drain mode.
> >
> > Signed-off-by: Esben Haabendal <esben@geanix.com>
> 
> Hi Esben,
> 
> Seems something throttled your mail. Only 0-3 made it to the list.
> Please resend and mark it [RESEND PATCH ...
> with a brief statement of why in the cover letter.

Done. And it looks like they all appeared on at least lore.kernel.org this time.

I don't know what happened the first time. It looks like b4 was interrupted without me noticing.

/Esben

> 
> Thanks
> 
> Jonathan
> 
> > ---
> > Changes in v5:
> > - Squashed dev_err_probe() call to one line.
> > - Fixed typo in patch 2 title.
> > - Added synchronization between runtime suspend and interrupt handler.
> > - Link to v4: https://patch.msgid.link/20260812-mma8452-open-drain-v4-0-bfca15d02b59@geanix.com
> >
> > Changes in v4:
> > - Fixed interrupt handler to check runtime PM status before trying to
> >   access the chip.
> > - Split open-drain support and interrupt sharing into separate patches.
> > - Added new patch to reuse existing struct device * through mma8452_probe()
> >   function.
> > - Print warning message when irq type is not set by firmware.
> > - Link to v3: https://patch.msgid.link/20260805-mma8452-open-drain-v3-0-6149f406a409@geanix.com
> >
> > Changes in v3:
> > - Reordered patches, swapping #2 and #3.
> > - Always add IRQF_SHARED flag.
> > - New patch to change it so IQRF_TRIGGER_LOW flag is only added when no
> >   trigger type is set by firmware.
> > - Link to v2: https://patch.msgid.link/20260715-mma8452-open-drain-v2-0-95be9f5f4795@geanix.com
> >
> > Changes in v2:
> > - Commit message of patch 2 updated.
> > - Operator precedence bug fixed in flags argument to
> >   request_threaded_irq().
> > - Always check return value of mma8452_set_interrupt_pin_mode(), and just
> >   check for non-zero value.
> > - Added new patch with optimization of struct mma8452_data ordering.
> > - Link to v1: https://patch.msgid.link/20260715-mma8452-open-drain-v1-0-b1dd2a440c60@geanix.com
> >
> > To: Jonathan Cameron <jic23@kernel.org>
> > To: Lars-Peter Clausen <lars@metafoo.de>
> > To: Rob Herring <robh@kernel.org>
> > To: Krzysztof Kozlowski <krzk+dt@kernel.org>
> > To: Conor Dooley <conor+dt@kernel.org>
> > To: Martin Kepplinger <martink@posteo.de>
> > To: Sean Nyekjaer <sean@geanix.com>
> > To: David Lechner <dlechner@baylibre.com>
> > To: Nuno Sá <nuno.sa@analog.com>
> > To: Andy Shevchenko <andy@kernel.org>
> > To: Martin Kepplinger <martin.kepplinger@theobroma-systems.com>
> > Cc: linux-iio@vger.kernel.org
> > Cc: devicetree@vger.kernel.org
> > Cc: linux-kernel@vger.kernel.org
> >
> > ---
> > Esben Haabendal (6):
> >       dt-bindings: iio: accel: mma8452: Add drive-open-drain
> >       iio: accel: mma8452: Optimize struct mma8452_data member orders
> >       iio: accel: mma8452: Only apply trigger type when not set by firmware
> >       iio: accel: mma8452: Support interrupt sharing
> >       iio: accel: mma8452: Allow open drain interrupt pin configuration
> >       iio: accel: mma8452: Reuse existing dev pointer in mma8452_probe()
> >
> >  .../devicetree/bindings/iio/accel/fsl,mma8452.yaml |  6 ++
> >  drivers/iio/accel/mma8452.c                        | 98 ++++++++++++++++------
> >  2 files changed, 80 insertions(+), 24 deletions(-)
> > ---
> > base-commit: db2ddb87143519e20a95aa36c60b36107b736a58
> > change-id: 20250401-mma8452-open-drain-81577c41375c
> >
> > Best regards,
> > --
> > Esben Haabendal <esben@geanix.com>
> >
> 
>