Subject: Re: [NEWBIE] Interrupt-problem mpc5200

From: "S. Fricke" <[email-masked]>
Date: Tue, 11 Sep 2007 20:28:11 +0200

Hello,

> >[...]
> >     intr = mpc52xx_find_and_map("mpc52xx-pic");
> >     if(!intr) {
> >         panic(__FILE__ ": mpc52xx-pic - MAP failed");
> >     }
> >
> >     set_irq_chip(MPC52xx_IRQ2, &my_irq_chip);
> 
> You probably don't want to do this (unless you are cascading IRQs to
> custom external hardware).  All you should need is the call to
> request_irq() to register your irq handler, and code in your ISR
> handler to clear the interrupt condition.
> 
> You do *NOT* want to program the interrupt controller directly.  The
> mpc5200 interrupt controller already has a driver.  Don't go twiddling
> the registers manually.

OK!

I have tried it before and i get a "-ENOSYS" returned.

My code was/is now:
--==>
request_irq(MPC52xx_IRQ2, intmod_isr, IRQF_DISABLED , "intmod",
            INTMOD_IRQ_BOARD);
<==--

I have looked up "kernel/irq/manage.c". "-ENOSYS" is returned on function
"setup_irq" because the used irq(MPC52xx_IRQ2) is the same as no_irq_chip.

THE MPC52xx_IRQ2 is a excerpt from "include/ppc/mpc52xx.h" (per copy
paste), but mpc52xx is (now) a powerpc-arch. What is the desired value for
IRQ-2 on a mpc5200b?

best regards,
Silvio Fricke

-- 
-- S. Fricke ----------------------------- MAILTO:[email-masked] --
   Diplom-Informatiker (FH)
   Linux-Entwicklung                       JABBER:      [email-masked]
----------------------------------------------------------------------------