Michael, Michael Walle <michael@xxxxxxxx> writes: > Am 2020-04-27 13:40, schrieb Thomas Gleixner: >>> + >>> + ret = devm_regmap_add_irq_chip(&pdev->dev, irqchip->regmap, irq, >>> + IRQF_SHARED | IRQF_ONESHOT, 0, >> >> What's the point of IRQF_SHARED | IRQF_ONESHOT here? > > IRQF_SHARED because this interrupt is shared with all the blocks > which can generate interrupts, i.e. the GPIO contollers. Why are people still designing hardware with shared interrupts? Shared interrupts are broken by design and that's well known for decades. > IRQF_ONESHOT, because its is a threaded interrupt with no primary > handler. But I just noticed, that regmap-irq will also set the > IRQF_ONESHOT. But that the commit 09cadf6e088b ("regmap-irq: > set IRQF_ONESHOT flag to ensure IRQ request") reads like it is > just there to be sure. So I don't know if it should also be set > here. Ok. Wasn't aware of that magic threaded interrupt connection. Thanks, tglx