[PATCH 08/14] iio: triggers: add private data to pollfuncs

Eugen Hristev
2017-12-22T15:07:15Z

Add a private data pointer field to pollfunc struct.
This is useful in the trigger handler to get specific data
for the driver registering the pollfunc.

Signed-off-by: Eugen Hristev <eugen.hristev@microchip.com>
---
include/linux/iio/trigger_consumer.h | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/include/linux/iio/trigger_consumer.h b/include/linux/iio/trigger_consumer.h
index 36e2a02..13be595 100644
--- a/include/linux/iio/trigger_consumer.h
+++ b/include/linux/iio/trigger_consumer.h
@@ -29,6 +29,7 @@ struct iio_trigger;
* @timestamp: some devices need a timestamp grabbed as soon
* as possible after the trigger - hence handler
* passes it via here.
+ * @p: private data for the poll func owner.
**/
struct iio_poll_func {
struct iio_dev *indio_dev;
@@ -38,6 +39,7 @@ struct iio_poll_func {
char *name;
int irq;
s64 timestamp;
+ void *p;
};

@@ -49,6 +51,13 @@ struct iio_poll_func
const char *fmt,
...);
void iio_dealloc_pollfunc(struct iio_poll_func *pf);
+
+static inline void
+iio_pollfunc_set_private_data(struct iio_poll_func *pf, void *p)
+{
+ pf->p = p;
+}
+
irqreturn_t iio_pollfunc_store_time(int irq, void *p);

void iio_trigger_notify_done(struct iio_trigger *trig);
--
2.7.4