On 01/09/16 09:27, Linus Walleij wrote: > The ST sensors can be used as a trigger for its own triggered buffer > but it is also possible to use an external trigger: a HRTimer or > even a different sensor (!) as trigger. In that case we should not > pick the timestamp from our own interrupt top half even if it is > active. > > This could practically happen if some other sensor is using the > ST sensor as trigger but the ST sensor itself is using e.g. > an HRTimer as trigger. So the trigger is on, but not used by us. > > We used to assume that whenever the hardware interrupt is turned > on, we are using it for our own trigger, but this is an > oversimplification. > > Handle this logically by using the iio_trigger_using_own() helper. > > Cc: Giuseppe Barba <giuseppe.barba@xxxxxx> > Cc: Denis Ciocca <denis.ciocca@xxxxxx> > Cc: Crestez Dan Leonard <leonard.crestez@xxxxxxxxx> > Cc: Gregor Boirie <gregor.boirie@xxxxxxxxxx> > Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. Thanks, Jonathan > --- > drivers/iio/common/st_sensors/st_sensors_buffer.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/iio/common/st_sensors/st_sensors_buffer.c b/drivers/iio/common/st_sensors/st_sensors_buffer.c > index d06e728cea37..fe7775bb3740 100644 > --- a/drivers/iio/common/st_sensors/st_sensors_buffer.c > +++ b/drivers/iio/common/st_sensors/st_sensors_buffer.c > @@ -63,7 +63,7 @@ irqreturn_t st_sensors_trigger_handler(int irq, void *p) > * the hardware trigger) and the hw_timestamp may get updated. > * By storing it in a local variable first, we are safe. > */ > - if (sdata->hw_irq_trigger) > + if (iio_trigger_using_own(indio_dev)) > timestamp = sdata->hw_timestamp; > else > timestamp = iio_get_time_ns(indio_dev); > -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html