summaryrefslogtreecommitdiffstats
path: root/drivers/staging/iio/trigger_consumer.h
diff options
context:
space:
mode:
authorJonathan Cameron2009-08-18 19:06:26 +0200
committerGreg Kroah-Hartman2009-09-15 21:02:25 +0200
commit1637db44413e32a0f100dd4bd164644e641842f7 (patch)
tree112d2671204259195dff3b8f021fe33ed8ca6afe /drivers/staging/iio/trigger_consumer.h
parentStaging: IIO: VTI sca3000 series accelerometer driver (spi) (diff)
downloadkernel-qcow2-linux-1637db44413e32a0f100dd4bd164644e641842f7.tar.gz
kernel-qcow2-linux-1637db44413e32a0f100dd4bd164644e641842f7.tar.xz
kernel-qcow2-linux-1637db44413e32a0f100dd4bd164644e641842f7.zip
Staging: IIO: Trigger support added to core.
Add general registration support for IIO triggers. These are currently only used to initialize a 'poll' of a given device. Examples include the lis3l02dq's data ready signal being used to initialize a read and gpio triggers being used to allow externally synchronized sensor reading. Each trigger can cause any number of 'consumer' devices to be polled with each storing data into a related ring buffer. Two stage triggering is supported with 'fast' and 'slow' paths. The first is used for things like pulling a data hold line high and the second for actual read which may take far longer. Changes since V2: * As with IIO triggers now use a registration approach much closer to that of input leading to cleaner code. Signed-off-by: Jonathan Cameron <jic23@cam.ac.uk> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
Diffstat (limited to 'drivers/staging/iio/trigger_consumer.h')
-rw-r--r--drivers/staging/iio/trigger_consumer.h21
1 files changed, 20 insertions, 1 deletions
diff --git a/drivers/staging/iio/trigger_consumer.h b/drivers/staging/iio/trigger_consumer.h
index a6053892893f..4c7f527dc79f 100644
--- a/drivers/staging/iio/trigger_consumer.h
+++ b/drivers/staging/iio/trigger_consumer.h
@@ -8,6 +8,20 @@
* the Free Software Foundation.
*/
+#ifdef CONFIG_IIO_TRIGGER
+/**
+ * iio_device_register_trigger_consumer() - set up an iio_dev to use triggers.
+ * @dev_info: iio_dev associated with the device that will consume the trigger
+ **/
+int iio_device_register_trigger_consumer(struct iio_dev *dev_info);
+/**
+ * iio_device_unregister_trigger_consumer() - reverse the registration process.
+ * @dev_info: iio_dev associated with the device that consumed the trigger
+ **/
+int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info);
+
+#else
+
/**
* iio_device_register_trigger_consumer() - set up an iio_dev to use triggers.
* @dev_info: iio_dev associated with the device that will consume the trigger
@@ -18,9 +32,14 @@ int iio_device_register_trigger_consumer(struct iio_dev *dev_info)
};
/**
* iio_device_unregister_trigger_consumer() - reverse the registration process
-. * @dev_info: iio_dev associated with the device that consumed the trigger
+ * @dev_info: iio_dev associated with the device that consumed the trigger
**/
int iio_device_unregister_trigger_consumer(struct iio_dev *dev_info)
{
return 0;
};
+
+#endif /* CONFIG_TRIGGER_CONSUMER */
+
+
+