From f4704d77fd1cbbc331af1e1fafd4c4f7fac1a744 Mon Sep 17 00:00:00 2001 From: Jonathan Cameron Date: Fri, 8 Oct 2010 12:14:00 +0100 Subject: [PATCH] staging: iio: events define macros for new event code system These are step one of moving to a systematic numbering for event codes. Signed-off-by: Jonathan Cameron Signed-off-by: Greg Kroah-Hartman --- drivers/staging/iio/sysfs.h | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/drivers/staging/iio/sysfs.h b/drivers/staging/iio/sysfs.h index b531dc1db4f1..7707f8f9e55f 100644 --- a/drivers/staging/iio/sysfs.h +++ b/drivers/staging/iio/sysfs.h @@ -249,6 +249,38 @@ struct iio_const_attr { #define IIO_EVENT_ATTR_DATA_RDY(_show, _store, _mask, _handler) \ IIO_EVENT_ATTR(data_rdy, _show, _store, _mask, _handler) +#define IIO_EV_CLASS_BUFFER 0 +#define IIO_EV_CLASS_IN 1 +#define IIO_EV_CLASS_ACCEL 2 +#define IIO_EV_CLASS_GYRO 3 +#define IIO_EV_CLASS_MAGN 4 +#define IIO_EV_CLASS_LIGHT 5 +#define IIO_EV_CLASS_PROXIMITY 6 + +#define IIO_EV_MOD_X 0 +#define IIO_EV_MOD_Y 1 +#define IIO_EV_MOD_Z 2 + +#define IIO_EV_TYPE_THRESH 0 +#define IIO_EV_TYPE_MAG 1 +#define IIO_EV_TYPE_ROC 2 + +#define IIO_EV_DIR_EITHER 0 +#define IIO_EV_DIR_RISING 1 +#define IIO_EV_DIR_FALLING 2 + +#define IIO_EVENT_CODE(channelclass, orient_bit, number, \ + modifier, type, direction) \ + (channelclass | (orient_bit << 8) | ((number) << 9) | \ + ((modifier) << 13) | ((type) << 16) | ((direction) << 24)) + +#define IIO_MOD_EVENT_CODE(channelclass, number, modifier, \ + type, direction) \ + IIO_EVENT_CODE(channelclass, 1, number, modifier, type, direction) + +#define IIO_UNMOD_EVENT_CODE(channelclass, number, type, direction) \ + IIO_EVENT_CODE(channelclass, 0, number, 0, type, direction) + #define IIO_EVENT_CODE_DATA_RDY 100 #define IIO_EVENT_CODE_RING_BASE 200 #define IIO_EVENT_CODE_ACCEL_BASE 300 -- 2.39.2