---
name: "request_percpu_irq"
section: "9"
platform: "linux"
package: "linux-manual-4.9"
version: "4.9.228-1"
release: "Debian 9 (Stretch)"
platforms: ["linux"]
url: "https://new.carta.tech/request_percpu_irq"
---

# request\_percpu\_irq(9)

allocate a percpu interrupt line

## NAME

request\_percpu\_irq - allocate a percpu interrupt line

## SYNOPSIS

**int request\_percpu\_irq(unsigned int** *irq***, irq\_handler\_t** *handler***, const char \*** *devname***, void \_\_percpu \*** *dev\_id***);**

## ARGUMENTS

*irq*

Interrupt line to allocate

*handler*

Function to be called when the IRQ occurs.

*devname*

An ascii name for the claiming device

*dev\_id*

A percpu cookie passed back to the handler function

## DESCRIPTION

This call allocates interrupt resources and enables the interrupt on the local CPU. If the interrupt is supposed to be enabled on other CPUs, it has to be done on each CPU using **enable\_percpu\_irq**.

Dev\_id must be globally unique. It is a per-cpu variable, and the handler gets called with the interrupted CPU's instance of that variable.

## AUTHORS

**Thomas Gleixner** \<tglx@linutronix.de\>

Author.

**Ingo Molnar** \<mingo@elte.hu\>

Author.

## COPYRIGHT
