[PATCH 1/3] iio: adxl372: Provide validate_trigger and validate_device callbacks

From: Stefan Popa
Date: Mon Aug 20 2018 - 10:56:05 EST


This patch provides a validate_device callback for the trigger which makes
sure that other devices are rejected.

Signed-off-by: Stefan Popa <stefan.popa@xxxxxxxxxx>
---
drivers/iio/accel/adxl372.c | 13 +++++++++++++
1 file changed, 13 insertions(+)

diff --git a/drivers/iio/accel/adxl372.c b/drivers/iio/accel/adxl372.c
index d2fdc75..5a039ba 100644
--- a/drivers/iio/accel/adxl372.c
+++ b/drivers/iio/accel/adxl372.c
@@ -762,11 +762,24 @@ static int adxl372_dready_trig_set_state(struct iio_trigger *trig,
return adxl372_set_interrupts(st, mask, 0);
}

+static int adxl372_validate_trigger(struct iio_dev *indio_dev,
+ struct iio_trigger *trig)
+{
+ struct adxl372_state *st = iio_priv(indio_dev);
+
+ if (st->dready_trig != trig)
+ return -EINVAL;
+
+ return 0;
+}
+
static const struct iio_trigger_ops adxl372_trigger_ops = {
+ .validate_device = &iio_trigger_validate_own_device,
.set_trigger_state = adxl372_dready_trig_set_state,
};

static const struct iio_info adxl372_info = {
+ .validate_trigger = &adxl372_validate_trigger,
.read_raw = adxl372_read_raw,
.debugfs_reg_access = &adxl372_reg_access,
.hwfifo_set_watermark = adxl372_set_watermark,
--
2.7.4