On 08/20/2018 04:53 PM, Stefan Popa wrote: > 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, I wonder, if the device only works with the trigger and the trigger only works with the device should we actually register a trigger? Seems to be just extra hassle when setting up the device without any extra benefits.