# Re: Can't request irq

- From: Scott Wood \<hidden\>
- Date: 2011-07-13 21:50:46 
- List: linuxppc-dev
- Page: https://ratatoskr.run/linuxppc-dev/2011/07/9465414
- Thread: https://ratatoskr.run/linuxppc-dev/2011/07/9465413/t.md

```text
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 [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
```
