Re: m68k: Convert to genirq (WIP)

From: Finn Thain
Date: Fri Aug 26 2011 - 07:18:54 EST



On Fri, 26 Aug 2011, Geert Uytterhoeven wrote:

> On Wed, Aug 10, 2011 at 12:53, Finn Thain <fthain@xxxxxxxxxxxxxxxxxxx> 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
>