Messages in this thread | | | Date | Fri, 4 Jan 2019 11:32:07 +0000 | From | Charles Keepax <> | Subject | Re: [PATCH] regmap: regmap-irq: Make irq-type callbak optional |
| |
On Fri, Jan 04, 2019 at 11:14:43AM +0000, Charles Keepax wrote: > On Fri, Jan 04, 2019 at 12:31:15PM +0200, Matti Vaittinen wrote: > > + if (num_type_reg) > > + d->irq_chip.irq_set_type = regmap_irq_set_type; > > + > > Afraid this also causes regressions at my end, still having a bit > of a look but it looks like some how this prevents properties of the > IRQ getting passed along which causes my system to not probe > properly with: > > genirq: Flags mismatch irq 58. 00002088 (cs35l35) vs. 00002088 (cs35l35) > cs35l35 0-0041: Failed to request IRQ: -16 >
My case is a shared IRQ with 2 amps (cs35l35) connected to a CODEC (wm8280).
So looks like the issue is if you don't have a set_type callback then the IRQ ends up as IRQF_TRIGGER_NONE, which causes the second IRQ to fail the middle check here in __setup_irq:
if (!((old->flags & new->flags) & IRQF_SHARED) || (oldtype != (new->flags & IRQF_TRIGGER_MASK)) || ((old->flags ^ new->flags) & IRQF_ONESHOT)) {
Kinda inclined to just leave the fix as currently submitted and just drop this patch? But I can do more testing etc. if we want to push further down this road.
Thanks, Charles
| |