[PATCH v4 0/5] iio: mpl3115: add support for DRDY interrupt

Antoni Pokusinski posted 5 patches 2 months, 2 weeks ago
.../bindings/iio/pressure/fsl,mpl3115.yaml    |  71 ++++
.../devicetree/bindings/trivial-devices.yaml  |   2 -
drivers/iio/pressure/mpl3115.c                | 331 ++++++++++++++++--
3 files changed, 364 insertions(+), 40 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iio/pressure/fsl,mpl3115.yaml
[PATCH v4 0/5] iio: mpl3115: add support for DRDY interrupt
Posted by Antoni Pokusinski 2 months, 2 weeks ago
Hello,
This set of patches adds support for the DRDY interrupt in the MPL3115
pressure sensor. The device has 2 interrupt lines, hence the new
binding. I also added support for the sampling frequency which
determines the time interval between subsequent measurements (in the
continuous measurements mode) so it's obiously tied to the DRDY
interrupt feature.

Kind regards,
Antoni Pokusinski

---
Changes since v3:
* P2: created mpl3115_fill_trig_buffer
* P2: trigger_handler: replaced scoped_guard with mutex_lock
* P2: includes: removed linux/cleanup.h

* P3: new patch: renamed MPL3115_CTRL_* macros to MPL3115_CTRL1_*

* P4: extracted the MPL3115_CTRL_* renames into a separate patch (P3 now)
* P4: trigger_probe: placed devm_request_threaded_irq() call before
                     devm_iio_trigger_register()
* P4: trigger_probe: removed switch(irq_cfg_flags) together with the
                     enum mpl3115_irq_type and added 2 separate
                     variables to handle interrupt setup logic 
* P4: set_trigger_state: factored out the CTRL_REG1 and CTRL_REG4 writes 
                         into a separate function mpl3115_config_interrupt

* P5: samp_freq_table: added spaces before "},"

Changes since v2:
* P4: included linux/bitfield.h

Changes since v1:
* P1: add `vdd-supply` and `vddio-supply`

* P2: new patch: use guards from cleanup.h   

* P3: change macros of control register bits to convention
      MPL3115_CTRLX_NAME
* P3: MPL3115_PT_DATA_EVENT_ALL: use GENMASK
* P3: trigger_probe: do not fail if dev_fwnode() returns NULL
* P3: trigger_probe: use devm_iio_trigger_register()
* P3: trigger_probe: introduced enum mpl3115_irq_type and 
      changed IRQ setup logic accordingly

* P4: MPL3115_CTRL2_ST: use GENMASK
* P4: read_raw: samp_freq: use FIELD_GET
* P4: write_raw: samp_freq: use FIELD_PREP
---

Antoni Pokusinski (5):
  dt-bindings: iio: pressure: add binding for mpl3115
  iio: mpl3115: add separate function for triggered buffer data
    collection
  iio: mpl3115: rename CTRL_REG1 field macros
  iio: mpl3115: add support for DRDY interrupt
  iio: mpl3115: add support for sampling frequency

 .../bindings/iio/pressure/fsl,mpl3115.yaml    |  71 ++++
 .../devicetree/bindings/trivial-devices.yaml  |   2 -
 drivers/iio/pressure/mpl3115.c                | 331 ++++++++++++++++--
 3 files changed, 364 insertions(+), 40 deletions(-)
 create mode 100644 Documentation/devicetree/bindings/iio/pressure/fsl,mpl3115.yaml

-- 
2.25.1
Re: [PATCH v4 0/5] iio: mpl3115: add support for DRDY interrupt
Posted by Jonathan Cameron 2 months, 2 weeks ago
On Thu,  2 Oct 2025 22:02:01 +0200
Antoni Pokusinski <apokusinski01@gmail.com> wrote:

> Hello,
> This set of patches adds support for the DRDY interrupt in the MPL3115
> pressure sensor. The device has 2 interrupt lines, hence the new
> binding. I also added support for the sampling frequency which
> determines the time interval between subsequent measurements (in the
> continuous measurements mode) so it's obiously tied to the DRDY
> interrupt feature.

Hi Antoni,

LGTM. Applied to the testing branch of iio.git. I'll rebase that on rc1 once
available and then push it out as the togreg branch which linux-next
picks up.

thanks,

Jonathan

> 
> Kind regards,
> Antoni Pokusinski
> 
> ---
> Changes since v3:
> * P2: created mpl3115_fill_trig_buffer
> * P2: trigger_handler: replaced scoped_guard with mutex_lock
> * P2: includes: removed linux/cleanup.h
> 
> * P3: new patch: renamed MPL3115_CTRL_* macros to MPL3115_CTRL1_*
> 
> * P4: extracted the MPL3115_CTRL_* renames into a separate patch (P3 now)
> * P4: trigger_probe: placed devm_request_threaded_irq() call before
>                      devm_iio_trigger_register()
> * P4: trigger_probe: removed switch(irq_cfg_flags) together with the
>                      enum mpl3115_irq_type and added 2 separate
>                      variables to handle interrupt setup logic 
> * P4: set_trigger_state: factored out the CTRL_REG1 and CTRL_REG4 writes 
>                          into a separate function mpl3115_config_interrupt
> 
> * P5: samp_freq_table: added spaces before "},"
> 
> Changes since v2:
> * P4: included linux/bitfield.h
> 
> Changes since v1:
> * P1: add `vdd-supply` and `vddio-supply`
> 
> * P2: new patch: use guards from cleanup.h   
> 
> * P3: change macros of control register bits to convention
>       MPL3115_CTRLX_NAME
> * P3: MPL3115_PT_DATA_EVENT_ALL: use GENMASK
> * P3: trigger_probe: do not fail if dev_fwnode() returns NULL
> * P3: trigger_probe: use devm_iio_trigger_register()
> * P3: trigger_probe: introduced enum mpl3115_irq_type and 
>       changed IRQ setup logic accordingly
> 
> * P4: MPL3115_CTRL2_ST: use GENMASK
> * P4: read_raw: samp_freq: use FIELD_GET
> * P4: write_raw: samp_freq: use FIELD_PREP
> ---
> 
> Antoni Pokusinski (5):
>   dt-bindings: iio: pressure: add binding for mpl3115
>   iio: mpl3115: add separate function for triggered buffer data
>     collection
>   iio: mpl3115: rename CTRL_REG1 field macros
>   iio: mpl3115: add support for DRDY interrupt
>   iio: mpl3115: add support for sampling frequency
> 
>  .../bindings/iio/pressure/fsl,mpl3115.yaml    |  71 ++++
>  .../devicetree/bindings/trivial-devices.yaml  |   2 -
>  drivers/iio/pressure/mpl3115.c                | 331 ++++++++++++++++--
>  3 files changed, 364 insertions(+), 40 deletions(-)
>  create mode 100644 Documentation/devicetree/bindings/iio/pressure/fsl,mpl3115.yaml
>