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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, 20 Aug 2018 17:37:08 +0100
jic23@xxxxxxxxxx wrote:

> On 20.08.2018 16:47, Lars-Peter Clausen wrote:
> > 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.  
> 
> I wondered the same, but there is a reason to do this if we think we
> will eventually have support for other triggers (which looks possible 
> for
> this device as we can bypass the fifo).  Then we want to do it in order
> to avoid a breaking ABI change.  There is a way around that by setting
> a default trigger so that it'll still use this one unless it is 
> explicitly
> set but that is rather ugly!
> 
> Jonathan
Hi Lars, Stefan,

I'll apply this as is, but if we continue this debate and reach another
conclusion we can always make a change during this cycle.

Plenty of time left!

Thanks,

Jonathan




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Input]     [Linux Kernel]     [Linux SCSI]     [X.org]

  Powered by Linux