On Fri, 26 Aug 2011, Geert Uytterhoeven wrote: > On Wed, Aug 10, 2011 at 12:53, Finn Thain 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 >