linux-iio.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v3 1/4] iio:trigger: Add helper function to verify that a trigger belongs to the same device
@ 2016-09-23 15:19 Lars-Peter Clausen
  2016-09-23 15:19 ` [PATCH v3 2/4] iio:mma8452: Use new iio_trigger_validate_own_device() helper Lars-Peter Clausen
                   ` (3 more replies)
  0 siblings, 4 replies; 9+ messages in thread
From: Lars-Peter Clausen @ 2016-09-23 15:19 UTC (permalink / raw)
  To: Jonathan Cameron
  Cc: Hartmut Knaack, Peter Meerwald-Stadler, Philippe Reynes,
	Martin Fuzzey, linux-iio, Lars-Peter Clausen

Some triggers can only be attached to the IIO device that corresponds to
the same physical device. Currently each driver that requires this
implements its own trigger validation function.

Introduce a new helper function called iio_trigger_validate_own_device()
that can be used to do this check. Having a common implementation avoids
code duplication and unnecessary boiler-plate code.

Signed-off-by: Lars-Peter Clausen <lars@metafoo.de>
---
New in v3
---
 drivers/iio/industrialio-trigger.c | 21 +++++++++++++++++++++
 include/linux/iio/trigger.h        |  2 ++
 2 files changed, 23 insertions(+)

diff --git a/drivers/iio/industrialio-trigger.c b/drivers/iio/industrialio-trigger.c
index e1e1048..05b2011 100644
--- a/drivers/iio/industrialio-trigger.c
+++ b/drivers/iio/industrialio-trigger.c
@@ -717,6 +717,27 @@ bool iio_trigger_using_own(struct iio_dev *indio_dev)
 }
 EXPORT_SYMBOL(iio_trigger_using_own);
 
+/**
+ * iio_trigger_validate_own_device - Check if a trigger and IIO device belong to
+ *  the same device
+ * @trig: The IIO trigger to check
+ * @indio_devdev: the IIO device to check
+ *
+ * This function can be used as the validate_device callback for triggers that
+ * can only be attached to their own device.
+ *
+ * Return: 0 if both the trigger and the IIO device belong to the same
+ * device, -EINVAL otherwise.
+ */
+int iio_trigger_validate_own_device(struct iio_trigger *trig,
+	struct iio_dev *indio_dev)
+{
+	if (indio_dev->dev.parent != trig->dev.parent)
+		return -EINVAL;
+	return 0;
+}
+EXPORT_SYMBOL(iio_trigger_validate_own_device);
+
 void iio_device_register_trigger_consumer(struct iio_dev *indio_dev)
 {
 	indio_dev->groups[indio_dev->groupcounter++] =
diff --git a/include/linux/iio/trigger.h b/include/linux/iio/trigger.h
index 4f1154f..ea08302 100644
--- a/include/linux/iio/trigger.h
+++ b/include/linux/iio/trigger.h
@@ -170,6 +170,8 @@ void iio_trigger_free(struct iio_trigger *trig);
  */
 bool iio_trigger_using_own(struct iio_dev *indio_dev);
 
+int iio_trigger_validate_own_device(struct iio_trigger *trig,
+				     struct iio_dev *indio_dev);
 
 #else
 struct iio_trigger;
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-09-24 16:33 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-23 15:19 [PATCH v3 1/4] iio:trigger: Add helper function to verify that a trigger belongs to the same device Lars-Peter Clausen
2016-09-23 15:19 ` [PATCH v3 2/4] iio:mma8452: Use new iio_trigger_validate_own_device() helper Lars-Peter Clausen
2016-09-24 16:25   ` Jonathan Cameron
2016-09-23 15:19 ` [PATCH v3 3/4] iio:max1027: Use " Lars-Peter Clausen
2016-09-24 16:27   ` Jonathan Cameron
2016-09-23 15:19 ` [PATCH v3 4/4] iio:adc: Add support for AD7766/AD7767 Lars-Peter Clausen
2016-09-24 16:32   ` Jonathan Cameron
2016-09-24 16:33     ` Jonathan Cameron
2016-09-24 16:21 ` [PATCH v3 1/4] iio:trigger: Add helper function to verify that a trigger belongs to the same device Jonathan Cameron

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).