sc16is7xx: Allow sharing the IRQ line
authorDaniel Mack <daniel@zonque.org>
Thu, 21 May 2020 09:11:51 +0000 (11:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 22 May 2020 09:06:14 +0000 (11:06 +0200)
commit2d12fc792cdd43da8502de4a425a98e520b1c302
treeef4637d6d21417e3400834e4382bd43ab811d6ba
parent6393ff1c4435acc343b1481f5b834b918cb42b12
sc16is7xx: Allow sharing the IRQ line

When the interrupt line is shared with other devices, the IRQ must be
level-triggered, as only one device can trigger a falling edge. To support
this, try to acquire the IRQ with IRQF_TRIGGER_LOW|IRQF_SHARED first.

Interrupt controllers that lack support for level-triggers will return an
error, in which case the driver will now retry the acqusition with
IRQF_TRIGGER_FALLING, which was also the default before.

Signed-off-by: Daniel Mack <daniel@zonque.org>
Link: https://lore.kernel.org/r/20200521091152.404404-6-daniel@zonque.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/tty/serial/sc16is7xx.c