|
@@ -57,6 +57,30 @@ struct iio_trigger {
|
|
|
struct mutex pool_lock;
|
|
|
};
|
|
|
|
|
|
+/**
|
|
|
+ * struct iio_poll_func - poll function pair
|
|
|
+ *
|
|
|
+ * @private_data: data specific to device (passed into poll func)
|
|
|
+ * @h: the function that is actually run on trigger
|
|
|
+ * @thread: threaded interrupt part
|
|
|
+ * @type: the type of interrupt (basically if oneshot)
|
|
|
+ * @name: name used to identify the trigger consumer.
|
|
|
+ * @irq: the corresponding irq as allocated from the
|
|
|
+ * trigger pool
|
|
|
+ * @timestamp: some devices need a timestamp grabbed as soon
|
|
|
+ * as possible after the trigger - hence handler
|
|
|
+ * passes it via here.
|
|
|
+ **/
|
|
|
+struct iio_poll_func {
|
|
|
+ void *private_data;
|
|
|
+ irqreturn_t (*h)(int irq, void *p);
|
|
|
+ irqreturn_t (*thread)(int irq, void *p);
|
|
|
+ int type;
|
|
|
+ char *name;
|
|
|
+ int irq;
|
|
|
+ s64 timestamp;
|
|
|
+};
|
|
|
+
|
|
|
static inline struct iio_trigger *to_iio_trigger(struct device *d)
|
|
|
{
|
|
|
return container_of(d, struct iio_trigger, dev);
|
|
@@ -136,30 +160,6 @@ static inline void iio_trigger_put_irq(struct iio_trigger *trig, int irq)
|
|
|
mutex_unlock(&trig->pool_lock);
|
|
|
};
|
|
|
|
|
|
-/**
|
|
|
- * struct iio_poll_func - poll function pair
|
|
|
- *
|
|
|
- * @private_data: data specific to device (passed into poll func)
|
|
|
- * @h: the function that is actually run on trigger
|
|
|
- * @thread: threaded interrupt part
|
|
|
- * @type: the type of interrupt (basically if oneshot)
|
|
|
- * @name: name used to identify the trigger consumer.
|
|
|
- * @irq: the corresponding irq as allocated from the
|
|
|
- * trigger pool
|
|
|
- * @timestamp: some devices need a timestamp grabbed as soon
|
|
|
- * as possible after the trigger - hence handler
|
|
|
- * passes it via here.
|
|
|
- **/
|
|
|
-struct iio_poll_func {
|
|
|
- void *private_data;
|
|
|
- irqreturn_t (*h)(int irq, void *p);
|
|
|
- irqreturn_t (*thread)(int irq, void *p);
|
|
|
- int type;
|
|
|
- char *name;
|
|
|
- int irq;
|
|
|
- s64 timestamp;
|
|
|
-};
|
|
|
-
|
|
|
struct iio_poll_func
|
|
|
*iio_alloc_pollfunc(irqreturn_t (*h)(int irq, void *p),
|
|
|
irqreturn_t (*thread)(int irq, void *p),
|