From: Dmitry Torokhov Date: Fri, 10 Sep 2021 04:50:39 +0000 (-0700) Subject: Input: ads7846 - do not attempt IRQ workaround when deferring probe X-Git-Tag: v6.6.17~3754^2~97^2~18 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=36fc54375f985cb9fc52b655ed18052147596f8f;p=platform%2Fkernel%2Flinux-rpi.git Input: ads7846 - do not attempt IRQ workaround when deferring probe When request_irq() returns -EPORBE_DEFER we should abort probe and try again later instead of trying to engage IRQ trigger workaround. Link: https://lore.kernel.org/r/20210910045039.4020199-3-dmitry.torokhov@gmail.com Signed-off-by: Dmitry Torokhov --- diff --git a/drivers/input/touchscreen/ads7846.c b/drivers/input/touchscreen/ads7846.c index 0f97335..a25a77d 100644 --- a/drivers/input/touchscreen/ads7846.c +++ b/drivers/input/touchscreen/ads7846.c @@ -1361,7 +1361,7 @@ static int ads7846_probe(struct spi_device *spi) err = devm_request_threaded_irq(dev, spi->irq, ads7846_hard_irq, ads7846_irq, irq_flags, dev->driver->name, ts); - if (err && !pdata->irq_flags) { + if (err && err != -EPROBE_DEFER && !pdata->irq_flags) { dev_info(dev, "trying pin change workaround on irq %d\n", spi->irq); irq_flags |= IRQF_TRIGGER_RISING;