Re: Can't request irq
From: Scott Wood <hidden>
Date: 2011-07-13 21:50:46
On Thu, 14 Jul 2011 03:02:40 +0600 =D0=90=D0=BB=D0=B5=D0=BA=D1=81=D0=B0=D0=BD=D0=B4=D1=80 =D0=9B=D1=8F=D1=81= =D0=B8=D0=BD [off-list ref] 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:
=20
=20
if (desc->chip =3D=3D &no_irq_chip)
return -ENOSYS;
=20
=20
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