[PATCH v4 0/3] iio: health: add MAX86150 ECG and PPG biosensor driver
From: Md Shofiqul Islam
Date: Tue Jun 23 2026 - 13:47:06 EST
Changes in v4 (addressing Sashiko review of v3):
- [High] Fix optional regulator probe failure: treat -ENODEV from
devm_regulator_get_enable_optional() as success (supply absent,
not an error).
- [High] Align fifo_raw to ARCH_DMA_MINALIGN to satisfy DMA mapping
requirements of I2C host controllers that use DMA for burst transfers.
- [High] Disambiguate FIFO empty vs exactly-full: when wr_ptr == rd_ptr
with OVF_COUNTER == 0, consult the A_FULL interrupt status bit to
determine whether the FIFO pointer wrapped to full or is truly empty.
- [High] Remove iio_trigger_get() in probe: the incremented refcount
leaks on the error path when devm_iio_device_register() fails because
iio_device_unregister() (and its paired iio_trigger_put()) never runs.
Users set the trigger via the current_trigger sysfs attribute as normal.
- [High] Assert SYS_SHDN in chip_init() so the LED drivers draw no
current while capture is inactive. set_trigger_state() clears SHDN
when the buffer is enabled and re-asserts it when disabled.
read_raw() wakes and sleeps the device around each single-shot read.
- [Medium] Replace IRQF_TRIGGER_FALLING with irq_get_trigger_type() to
honour the interrupt trigger type from the device tree; falls back to
falling-edge if the DT does not specify one.
- [Medium] Add .validate_trigger = iio_trigger_validate_own_device to
prevent incompatible external triggers from being attached.
- [Medium] Fix per-sample timestamp jitter: anchor timestamps to the
A_FULL IRQ capture time. The sample at index (A_FULL_SAMPLES - 1)
corresponds to pf->timestamp; samples accumulated between the IRQ and
handler execution receive future timestamps, eliminating scheduling-
latency-dependent jitter in multi-sample drains.
Link: https://lore.kernel.org/linux-iio/20260623155556.13701-1-shofiqtest@xxxxxxxxx/
v3 cover letter
Md Shofiqul Islam (3):
dt-bindings: iio: health: add maxim,max86150
iio: health: add MAX86150 ECG and PPG biosensor driver
MAINTAINERS: add entry for MAX86150 IIO health driver
--
2.49.0