Re: [PATCH v3 0/7] iio: adc: palmas_gpadc: add iio events

From: Patrik Dahlström
Date: Sat Apr 08 2023 - 07:48:29 EST


Please dis-regard this. I sent the wrong version :/


On Sat, Apr 08, 2023 at 01:46:17PM +0200, Patrik Dahlström wrote:
> This series is based on linux-next/master [1] and [2].
>
> The palmas gpadc block has support for monitoring up to 2 ADC channels
> and issue an interrupt if they reach past a set threshold. This can be
> configured statically with device tree today, but it only gets enabled
> when reaching sleep mode. Also, it doesn't look like anyone is using it.
>
> Instead of this one special case, change the code so userspace can
> configure the ADC channels to their own needs through the iio events
> subsystem. The high and low threshold values can be set for every
> channel, but only 2 thresholds can be enabled at a time. Trying to
> enable more than 2 thresholds will result in an error.
>
> The configured thresholds will wake up the system from sleep mode if
> wakeup is enabled in /sys/devices/.../power/wakeup.
>
> The old platform data was removed.
>
> Thresholds, events, and wakeup were tested on omap5-uevm board. It wakes
> up from sleep mode when wakeup is enabled and a threshold is passed. A
> userspace tool for monitoring events and adjusting thresholds can be
> found at [3].
>
> V2 -> V3:
> * Rebased to linux-next.
> * Avoid reconfiguring events on error and when old == new value.
> V1 -> V2:
> * Begin by removing adc_wakeupX_data instead of doing it last.
> * Split changes in smaller patches
>
> [1] git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> [2] https://lore.kernel.org/linux-iio/20230318163039.56115-1-jic23@xxxxxxxxxx/
> [3] https://github.com/Risca/pyra_vol_mon
>
> Patrik Dahlström (7):
> iio: adc: palmas: remove adc_wakeupX_data
> iio: adc: palmas: replace "wakeup" with "event"
> iio: adc: palmas: use iio_event_direction for threshold polarity
> iio: adc: palmas: move eventX_enable into palmas_adc_event
> iio: adc: palmas: always reset events on unload
> iio: adc: palmas: add support for iio threshold events
> iio: adc: palmas: don't alter event config on suspend/resume
>
> drivers/iio/adc/palmas_gpadc.c | 559 +++++++++++++++++++++++++++------
> include/linux/mfd/palmas.h | 8 -
> 2 files changed, 464 insertions(+), 103 deletions(-)
>
>
> base-commit: 8417c8f5007bf4567ccffda850a3157c7d905f67
> prerequisite-patch-id: b0418c707db13f514400956596e9ebe91c25bba0
> --
> 2.25.1
>