Can't request irq

Scott Wood scottwood at freescale.com
Thu Jul 14 07:50:36 EST 2011


On Thu, 14 Jul 2011 03:02:40 +0600
Александр Лясин <alexander.lyasin at gmail.com> wrote:

> I'm writing module for "falc" device.
> During loading of the module the probe function is called.
> But request_irq(48, falc_irq_handler, IRQF_DISABLED, "falc",
> falc_staff) function return -38. I see, interrupt 48 (irq_chip) absent
> in system.
> -ENOSYS returned from __setup_irq function from manage.c:
> 
> 
> if (desc->chip == &no_irq_chip)
>        return -ENOSYS;
> 
> 
> Help me please, how can I to create it in system?

request_irq() takes virtual interrupt numbers, not the numbers of some
arbitrary interrupt controller in the system (sometimes there's more than
one).  Use irq_of_parse_and_map() on your device tree node to establish
a mapping and get the virtual interrupt number.

-Scott



More information about the Linuxppc-dev mailing list