Re: [PATCH] iio: light: apds9960: Fix iio_event_spec structures

From: Subhajit Ghosh
Date: Thu Nov 10 2022 - 09:46:02 EST



>> .type = IIO_EV_TYPE_THRESH,
>> .dir = IIO_EV_DIR_RISING,
>> - .mask_separate = BIT(IIO_EV_INFO_VALUE) |
>> - BIT(IIO_EV_INFO_ENABLE),
>> + .mask_separate = BIT(IIO_EV_INFO_VALUE),
>
> Probably more concise to use the following, and you won't need to add
> an additional item to the structs.
>
> .mask_separate = BIT(IIO_EV_INFO_VALUE),
> .mask_shared_by_type = BIT(IIO_EV_INFO_ENABLE),
>

Above is the first thing I tried.

Current implementation:

root@stm32mp1:~# ls -1 /sys/bus/iio/devices/iio:device0/events/
in_intensity_clear_thresh_falling_en
in_intensity_clear_thresh_falling_value
in_intensity_clear_thresh_rising_en
in_intensity_clear_thresh_rising_value

in_proximity_thresh_falling_en
in_proximity_thresh_falling_value
in_proximity_thresh_rising_en
in_proximity_thresh_rising_value


First method (Which you are suggesting):
.mask_separate = BIT(IIO_EV_INFO_VALUE),
.mask_shared_by_type = BIT(IIO_EV_INFO_ENABLE),

root@stm32mp1:~# ls -1 /sys/bus/iio/devices/iio:device0/events/
in_intensity_clear_thresh_falling_value
in_intensity_clear_thresh_rising_value
in_intensity_thresh_falling_en
in_intensity_thresh_rising_en

The above says all channels with with the type IIO_INTENSITY has
the same enable but we require this particular channel (in_intensity_clear)
regardless of direction to have the same enable.
Using mask_shared_by_dir and mask_shared_by_all does not provide the logical
attribute name.


This patch provides the below:

root@stm32mp1:~# ls -1 /sys/bus/iio/devices/iio:device0/events/
in_intensity_clear_thresh_either_en
in_intensity_clear_thresh_falling_value
in_intensity_clear_thresh_rising_value

in_proximity_thresh_either_en
in_proximity_thresh_falling_value
in_proximity_thresh_rising_value

Verified using iio_event_monitor:

root@stm32mp1:~# ./iio_event_monitor /dev/iio:device0
Event: time: 1647143384807582753, type: proximity, channel: 0, evtype: thresh, direction: either


Regards
Subhajit Ghosh

--
This email is confidential. If you have received this email in error please
notify us immediately by return email and delete this email and any
attachments. Vix accepts no liability for any damage caused by this email
or any attachments due to viruses, interference, interception, corruption
or unauthorised access.