All of lore.kernel.org
 help / color / mirror / Atom feed
From: Scott Wood <scottwood@freescale.com>
To: wael showair <showair2003@yahoo.com>
Cc: linuxppc-embedded@ozlabs.org
Subject: Re: How to register an interrupt under linux?
Date: Fri, 07 Nov 2008 11:31:58 -0600	[thread overview]
Message-ID: <49147B8E.4060600@freescale.com> (raw)
In-Reply-To: <20376306.post@talk.nabble.com>

wael showair wrote:
> Dear all,
> First here is the setup i've:
> 1. The board is SPTWIMAX-CC1E board 
> 2. The processor is MPC8555 i found it in the powerpc family NOT ppc family.
> Also the board contains DSP core.
> 3. Linux Kernel 2.6.19-rc5 running on the MPC8555 processor side.

That's rather old...

> I aim to let the DSP processor interrupts the MPC8555 processor so i think
> the first step is to register an interrupt handler for an interrupt number.
> i found this in the linux API request_irq. so 
> 
> i make a simple module & write in it
> request_irq(4,my_handler,SA_INTERRUPT,"DSP",NULL); but unfortunately it
> returns -ENOSYS.

If we had a FAQ, this would be entry #1.  request_irq() takes virtual 
IRQ numbers, not hardware numbers of some specific PIC.  You need to 
create a mapping, typically via the device tree.  Google should be able 
to provide more details.

> i have tracked the error & i found this is because the
> irq_chip structure was not set.
> 
> so i added the API of set_irq_chip as follows:
> 
> irqChip.enable = NULL;
> irqChip.disable = NULL;
> irqChip.startup = NULL;
> irqChip.shutdown = NULL;

That's kind of like commenting out every line with an error until the 
code builds. :-P

>  but unfortunately when i tried to insert my module i got a segmentation
> fault.

That tends to happen if you tell the kernel to call a NULL pointer.

  i have tracked it & i found this is because of the unmask function of
> my interrupt irq_chip was not set.
> so do i have to implement it

No, it's already implemented in the MPIC driver.

-Scott

      reply	other threads:[~2008-11-07 17:33 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-11-07  8:52 How to register an interrupt under linux? wael showair
2008-11-07 17:31 ` Scott Wood [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=49147B8E.4060600@freescale.com \
    --to=scottwood@freescale.com \
    --cc=linuxppc-embedded@ozlabs.org \
    --cc=showair2003@yahoo.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.