> On Fri, 13 Sep 2019 11:07:07 +0200 > Sean Nyekjaer wrote: > > > The interrupt source can come from multiple sources, > > fifo and wake interrupts. > > Enter interrupt thread to check which interrupt that has fired. > > > > Signed-off-by: Sean Nyekjaer > > --- > > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 4 +--- > > 1 file changed, 1 insertion(+), 3 deletions(-) > > > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > > index 810807c52d5f..80a94335175f 100644 > > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > > @@ -1717,9 +1717,7 @@ static struct iio_dev *st_lsm6dsx_alloc_iiodev(struct st_lsm6dsx_hw *hw, > > > > static irqreturn_t st_lsm6dsx_handler_irq(int irq, void *private) > > { > > - struct st_lsm6dsx_hw *hw = private; > > - > > - return hw->sip > 0 ? IRQ_WAKE_THREAD : IRQ_NONE; > > + return IRQ_WAKE_THREAD; > > I missed this before. Isn't this the same as just not providing a top half at all? > > I.e. Pass null to request_threaded_irq where this function was. > > Thanks, > > Jonathan Right, for the moment we do not need it. It will be probably useful adding buffering support for sensors that do not support hw timestamping in FIFO (e.g. LSM9DS1). I am fine both ways, so up to you. Regards, Lorenzo > > > > } > > > > static irqreturn_t st_lsm6dsx_handler_thread(int irq, void *private) >