On 11/01/15 19:10, Irina Tirdea wrote: > A step detector will generate an interrupt each time N step are detected. > A device that has such pedometer functionality is Freescale's MMA9553L: > http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf. > > Introduce IIO_EV_TYPE_CHANGE event type for events that are generated > when the channel passes a threshold on the absolute change in value. > > Signed-off-by: Irina Tirdea <irina.tirdea@xxxxxxxxx> Applied. > --- > Documentation/ABI/testing/sysfs-bus-iio | 20 ++++++++++++++++---- > drivers/iio/industrialio-event.c | 1 + > .../staging/iio/Documentation/iio_event_monitor.c | 2 ++ > include/linux/iio/types.h | 1 + > 4 files changed, 20 insertions(+), 4 deletions(-) > > diff --git a/Documentation/ABI/testing/sysfs-bus-iio b/Documentation/ABI/testing/sysfs-bus-iio > index 71dc8db..c03a140 100644 > --- a/Documentation/ABI/testing/sysfs-bus-iio > +++ b/Documentation/ABI/testing/sysfs-bus-iio > @@ -891,12 +891,24 @@ Description: > number or direction is not specified, applies to all channels of > this type. > > -What: /sys/.../events/in_steps_instance_en > -KernelVersion: 3.19 > +What: /sys/.../events/in_steps_change_en > +KernelVersion: 3.20 > Contact: linux-iio@xxxxxxxxxxxxxxx > Description: > - Enables or disables step detection. Each time the user takes a step an > - event of this type will be generated. > + Event generated when channel passes a threshold on the absolute > + change in value. E.g. for steps: a step change event is > + generated each time the user takes N steps, where N is set using > + in_steps_change_value. > + > +What: /sys/.../events/in_steps_change_value > +KernelVersion: 3.20 > +Contact: linux-iio@xxxxxxxxxxxxxxx > +Description: > + Specifies the value of change threshold that the > + device is comparing against for the events enabled by > + <type>[Y][_name]_roc[_rising|falling|]_en. E.g. for steps: > + if set to 3, a step change event will be generated every 3 > + steps. > > What: /sys/bus/iio/devices/iio:deviceX/trigger/current_trigger > KernelVersion: 2.6.35 > diff --git a/drivers/iio/industrialio-event.c b/drivers/iio/industrialio-event.c > index 3f5cee0..08c4a4c 100644 > --- a/drivers/iio/industrialio-event.c > +++ b/drivers/iio/industrialio-event.c > @@ -198,6 +198,7 @@ static const char * const iio_ev_type_text[] = { > [IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive", > [IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive", > [IIO_EV_TYPE_INSTANCE] = "instance", > + [IIO_EV_TYPE_CHANGE] = "change", > }; > > static const char * const iio_ev_dir_text[] = { > diff --git a/drivers/staging/iio/Documentation/iio_event_monitor.c b/drivers/staging/iio/Documentation/iio_event_monitor.c > index def236a..2e78d58 100644 > --- a/drivers/staging/iio/Documentation/iio_event_monitor.c > +++ b/drivers/staging/iio/Documentation/iio_event_monitor.c > @@ -60,6 +60,7 @@ static const char * const iio_ev_type_text[] = { > [IIO_EV_TYPE_THRESH_ADAPTIVE] = "thresh_adaptive", > [IIO_EV_TYPE_MAG_ADAPTIVE] = "mag_adaptive", > [IIO_EV_TYPE_INSTANCE] = "instance", > + [IIO_EV_TYPE_CHANGE] = "change", > }; > > static const char * const iio_ev_dir_text[] = { > @@ -179,6 +180,7 @@ static bool event_is_known(struct iio_event_data *event) > case IIO_EV_TYPE_THRESH_ADAPTIVE: > case IIO_EV_TYPE_MAG_ADAPTIVE: > case IIO_EV_TYPE_INSTANCE: > + case IIO_EV_TYPE_CHANGE: > break; > default: > return false; > diff --git a/include/linux/iio/types.h b/include/linux/iio/types.h > index c3601c2..3ba3d66 100644 > --- a/include/linux/iio/types.h > +++ b/include/linux/iio/types.h > @@ -79,6 +79,7 @@ enum iio_event_type { > IIO_EV_TYPE_THRESH_ADAPTIVE, > IIO_EV_TYPE_MAG_ADAPTIVE, > IIO_EV_TYPE_INSTANCE, > + IIO_EV_TYPE_CHANGE, > }; > > enum iio_event_info { > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html