On Mon, 16 Sep 2019 15:56:29 +0200 Sean Nyekjaer <sean@xxxxxxxxxx> 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 <sean@xxxxxxxxxx> Applied to the togreg branch of iio.git and pushed out as testing for the autobuilders to play with it. thanks, Jonathan > --- > Changes since v8: > * Remove st_lsm6dsx_handler_irq function to enter interrupt thread > at every interrupt > > Changes since v9: > * None > > drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c | 9 +-------- > 1 file changed, 1 insertion(+), 8 deletions(-) > > diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > index a7f12cf57f11..6b03c50f4732 100644 > --- a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > +++ b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c > @@ -1715,13 +1715,6 @@ static struct iio_dev *st_lsm6dsx_alloc_iiodev(struct st_lsm6dsx_hw *hw, > return iio_dev; > } > > -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; > -} > - > static irqreturn_t st_lsm6dsx_handler_thread(int irq, void *private) > { > struct st_lsm6dsx_hw *hw = private; > @@ -1779,7 +1772,7 @@ static int st_lsm6dsx_irq_setup(struct st_lsm6dsx_hw *hw) > } > > err = devm_request_threaded_irq(hw->dev, hw->irq, > - st_lsm6dsx_handler_irq, > + NULL, > st_lsm6dsx_handler_thread, > irq_type | IRQF_ONESHOT, > "lsm6dsx", hw);