Messages in this thread | | | Date | Fri, 26 Aug 2011 21:21:05 +1000 (EST) | From | Finn Thain <> | Subject | Re: m68k: Convert to genirq (WIP) |
| |
On Fri, 26 Aug 2011, Geert Uytterhoeven wrote:
> On Wed, Aug 10, 2011 at 12:53, Finn Thain <fthain@telegraphics.com.au> wrote: > >> via1_irq > >> OSS_IRQLEV_VIA1 = IRQ_AUTO_6 (on oss) conflict: psc_irq > >> > >> IRQ_AUTO_1 conflict: iop_ism_irq > > >> iop_ism_irq > >> OSS_IRQLEV_IOPISM = 1 = IRQ_AUTO_1 (on oss) conflict: via1_irq > > > > via1_irq is remapped to IRQ_AUTO_6 on OSS. > > According to via_register_interrupts(), it requests both: > > if (via_alt_mapping) { > if (request_irq(IRQ_AUTO_1, via1_irq, 0, "software", > (void *)via1)) > pr_err("Couldn't register %s interrupt\n", "software"); > if (request_irq(IRQ_AUTO_6, via1_irq, 0, "via1", (void *)via1)) > pr_err("Couldn't register %s interrupt\n", "via1"); > } else { > if (request_irq(IRQ_AUTO_1, via1_irq, 0, "via1", (void *)via1)) > pr_err("Couldn't register %s interrupt\n", "via1"); > } > > Hence IRQ_AUTO_1 must be shared and we cannot use an optimized chain > handler for via1_irq()
I'm pretty sure that the "software" request_irq can be removed. It has come up before -- http://marc.info/?l=linux-mac68k&m=110973724208746&w=2
Maybe Brad can shed some light on this (?)
I've just cloned and built your m68k-genirq branch. I will run some tests.
> nor iop_ism_irq().
via_register_interrupts() is not called on OSS.
Finn
> This is the only remaining conflict I see. > > Gr{oetje,eeting}s, > > Geert >
| |