linux/drivers/iio/light
Kuppuswamy Sathyanarayanan eea53b4a25 iio: ltr501: Add interrupt rate control support
Added rate control support for ALS and proximity
threshold interrupts.Also, Added support to modify
and read ALS & proximity sensor sampling frequency.

LTR-501 supports interrupt rate control using persistence
register settings. Writing <n> to persistence register
would generate interrupt only if there are <n> consecutive
data values outside the threshold range.

Since we don't have any existing ABI's to directly
control the persistence register count, we have implemented
the rate control using IIO_EV_INFO_PERIOD. _period event
attribute represents the amount of time in seconds an
event should be true for the device to generate the
interrupt. So using _period value and device frequency,
persistence count is calculated in driver using following
logic.

count =  period / measurement_rate

If the given period is not a multiple of measurement rate then
we round up the value to next multiple.

This patch also handles change to persistence count whenever
there is change in frequency.

Signed-off-by: Kuppuswamy Sathyanarayanan <sathyanarayanan.kuppuswamy@linux.intel.com>
Signed-off-by: Jonathan Cameron <jic23@kernel.org>
2015-04-19 13:43:33 +01:00
..
adjd_s311.c iio: delete non-required instances of include <linux/init.h> 2014-01-11 11:59:00 +00:00
al3320a.c iio: Add Dyna-Image AL3320A ambient light sensor driver 2014-09-10 20:25:56 +01:00
apds9300.c iio: Remove support for the legacy event config interface 2013-12-08 13:13:52 +00:00
cm3232.c iio: light: Added PM support for Capella CM3232 ambient light sensor driver. 2015-03-08 12:04:57 +00:00
cm3323.c iio: light: Add support for Capella CM3323 color sensor 2015-03-15 11:43:02 +00:00
cm32181.c iio: light: cm32181: Fix typo 's/claibscale/calibscale/' 2015-01-25 22:53:49 +00:00
cm36651.c iio: cm36651: Fix i2c client leak and possible NULL pointer dereference 2014-03-22 12:22:49 +00:00
gp2ap020a00f.c iio: gp2ap020a00f: Use put_unaligned_le32 2015-02-14 17:28:41 +00:00
hid-sensor-als.c iio: hid-sensor-als: Introduce PM 2015-01-25 22:55:47 +00:00
hid-sensor-prox.c iio: hid-sensor-prox: Introduce PM 2015-01-25 22:55:50 +00:00
isl29125.c iio: Add Intersil isl29125 digital color light sensor driver 2014-07-07 09:06:50 +01:00
jsa1212.c iio: jsa1212: Constify struct regmap_config 2015-02-25 11:37:53 +00:00
Kconfig First set of new drivers, cleanups and functionality for IIO in the 4.1 cycle. 2015-03-24 22:53:52 +01:00
lm3533-als.c iio: light: lm3533-als: Remove space before ',' 2015-01-01 12:14:36 +00:00
ltr501.c iio: ltr501: Add interrupt rate control support 2015-04-19 13:43:33 +01:00
Makefile iio: light: Add support for Capella CM3323 color sensor 2015-03-15 11:43:02 +00:00
tcs3414.c iio: light: tcs3414: Fix misindented lines 2015-01-25 22:53:46 +00:00
tcs3472.c iio:tcs3472: Check for buffer enabled and locking 2014-07-07 08:59:16 +01:00
tsl2563.c iio:tsl2563: Use tsl2563_ prefix for driver's functions 2015-04-18 20:35:31 +01:00
tsl4531.c iio:tsl4531: Fix leftover TCS3472_ prefix in tsl4531 driver 2015-04-18 20:31:35 +01:00
vcnl4000.c iio:vcnl4000: Mark transfer buffer as __be16 2013-12-03 20:22:27 +00:00