From: Sean Nyekjaer Date: Mon, 16 Sep 2019 13:56:29 +0000 (+0200) Subject: iio: imu: st_lsm6dsx: always enter interrupt thread X-Git-Tag: v5.5-rc1~135^2~250^2~15 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=a3aa17d4badf17c9cbe785f3c842c1b62f5b527d;p=linux.git iio: imu: st_lsm6dsx: always enter interrupt thread 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 Reviewed-by: Lorenzo Bianconi Signed-off-by: Jonathan Cameron --- diff --git a/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c b/drivers/iio/imu/st_lsm6dsx/st_lsm6dsx_core.c index dcac1314e769..26acc852982d 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);