On Thu, Nov 10, 2022 at 10:45 PM Subhajit Ghosh <subhajit.ghosh@xxxxxxxxxxxxxxxxx> wrote: > > > >> .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 > Hmm maybe Jonathan will have some feedback on this (and if it is okay to break the ABI interface). Been awhile since I've touched this driver and a little rusty on iio events. But I am guessing your method makes sense since the event(s) has direction and a type, and can't just have one of the .mask_shared_by_dir and mask_shared_by_type. In any case: Reviewed-by: Matt Ranostay <matt.ranostay@xxxxxxxxxxxx> - Matt > > 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.