iio: core: Introduce STEPS channel, ENABLE mask and INSTANCE event
authorIrina Tirdea <irina.tirdea@intel.com>
Mon, 10 Nov 2014 12:45:32 +0000 (14:45 +0200)
committerJonathan Cameron <jic23@kernel.org>
Sat, 22 Nov 2014 11:05:51 +0000 (11:05 +0000)
commita88bfe78583026eb9f21d4014ba481b22b66cee3
tree5aab15a95c90caa83a08595a3353e779046a2905
parent1843c2f3def16740eb6d129a9790c32dd21aa5ea
iio: core: Introduce STEPS channel, ENABLE mask and INSTANCE event

These changes are needed to support the functionality of a pedometer.
A pedometer has two basic functionalities: step counter and step detector.

The step counter needs to be enabled and then it will count the steps
in its hardware register. Whenever the application needs to check
the step count, it will read the step counter register. To support the
step counter a new channel type STEPS is added. Since the pedometer needs
to be enabled first so that the hardware can count and store the steps,
we need a specific ENABLE channel info mask.

The step detector will generate an interrupt each time a step is detected.
To support this functionality we add a new event type INSTANCE.

For more information on the Android requirements for step counter and step
detector see:
http://source.android.com/devices/sensors/composite_sensors.html#counter
and http://source.android.com/devices/sensors/composite_sensors.html#detector.

A device that has the pedometer functionality this interface needs to
support is Freescale's MMA9553L:
http://www.freescale.com/files/sensors/doc/ref_manual/MMA9553LSWRM.pdf

Signed-off-by: Irina Tirdea <irina.tirdea@intel.com>
Signed-off-by: Daniel Baluta <daniel.baluta@intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
Documentation/ABI/testing/sysfs-bus-iio
drivers/iio/industrialio-core.c
drivers/iio/industrialio-event.c
include/linux/iio/iio.h
include/linux/iio/types.h