Title: [9372] trunk/drivers/staging/iio: merge from upstream: staging: iio: sca3000 move to new event code scheme and add combined orientations
Revision
9372
Author
vapier
Date
2010-10-24 16:53:26 -0400 (Sun, 24 Oct 2010)

Log Message

merge from upstream: staging: iio: sca3000 move to new event code scheme and add combined orientations

From: Jonathan Cameron <[email protected]>

The combined orientations allow handling of typical motion and free fall
detectors to be handled as threshold events just applied to a number of
axes via boolean operations.  So freefall is when x, y and z magnitudes
are all below a threshold for a particular period.  Motion detectors
are typically whether x or y or z are above a particular value.

Signed-off-by: Jonathan Cameron <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>

Modified Paths

Diff

Modified: trunk/drivers/staging/iio/accel/sca3000_core.c (9371 => 9372)


--- trunk/drivers/staging/iio/accel/sca3000_core.c	2010-10-24 20:53:22 UTC (rev 9371)
+++ trunk/drivers/staging/iio/accel/sca3000_core.c	2010-10-24 20:53:26 UTC (rev 9372)
@@ -865,22 +865,38 @@
 
 	if (rx[1] & SCA3000_INT_STATUS_FREE_FALL)
 		iio_push_event(st->indio_dev, 0,
-			       IIO_EVENT_CODE_FREE_FALL,
+			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+						  0,
+						  IIO_EV_MOD_X_AND_Y_AND_Z,
+						  IIO_EV_TYPE_MAG,
+						  IIO_EV_DIR_FALLING),
 			       st->last_timestamp);
 
 	if (rx[1] & SCA3000_INT_STATUS_Y_TRIGGER)
 		iio_push_event(st->indio_dev, 0,
-			       IIO_EVENT_CODE_ACCEL_Y_HIGH,
+			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+						  0,
+						  IIO_EV_MOD_Y,
+						  IIO_EV_TYPE_MAG,
+						  IIO_EV_DIR_RISING),
 			       st->last_timestamp);
 
 	if (rx[1] & SCA3000_INT_STATUS_X_TRIGGER)
 		iio_push_event(st->indio_dev, 0,
-			       IIO_EVENT_CODE_ACCEL_X_HIGH,
+			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+						  0,
+						  IIO_EV_MOD_X,
+						  IIO_EV_TYPE_MAG,
+						  IIO_EV_DIR_RISING),
 			       st->last_timestamp);
 
 	if (rx[1] & SCA3000_INT_STATUS_Z_TRIGGER)
 		iio_push_event(st->indio_dev, 0,
-			       IIO_EVENT_CODE_ACCEL_Z_HIGH,
+			       IIO_MOD_EVENT_CODE(IIO_EV_CLASS_ACCEL,
+						  0,
+						  IIO_EV_MOD_Z,
+						  IIO_EV_TYPE_MAG,
+						  IIO_EV_DIR_RISING),
 			       st->last_timestamp);
 
 done:

Modified: trunk/drivers/staging/iio/sysfs.h (9371 => 9372)


--- trunk/drivers/staging/iio/sysfs.h	2010-10-24 20:53:22 UTC (rev 9371)
+++ trunk/drivers/staging/iio/sysfs.h	2010-10-24 20:53:26 UTC (rev 9372)
@@ -266,6 +266,14 @@
 #define IIO_EV_MOD_X			0
 #define IIO_EV_MOD_Y			1
 #define IIO_EV_MOD_Z			2
+#define IIO_EV_MOD_X_AND_Y		3
+#define IIO_EV_MOD_X_ANX_Z		4
+#define IIO_EV_MOD_Y_AND_Z		5
+#define IIO_EV_MOD_X_AND_Y_AND_Z	6
+#define IIO_EV_MOD_X_OR_Y		7
+#define IIO_EV_MOD_X_OR_Z		8
+#define IIO_EV_MOD_Y_OR_Z		9
+#define IIO_EV_MOD_X_OR_Y_OR_Z		10
 
 #define IIO_EV_TYPE_THRESH		0
 #define IIO_EV_TYPE_MAG			1
_______________________________________________
Linux-kernel-commits mailing list
[email protected]
https://blackfin.uclinux.org/mailman/listinfo/linux-kernel-commits

Reply via email to