1<html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>request_percpu_irq</title><meta name="generator" content="DocBook XSL Stylesheets V1.78.1"><link rel="home" href="index.html" title="The Linux Kernel API"><link rel="up" href="hardware.html#id-1.11.2" title="Interrupt Handling"><link rel="prev" href="API-free-percpu-irq.html" title="free_percpu_irq"><link rel="next" href="API-irq-get-irqchip-state.html" title="irq_get_irqchip_state"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center"><span class="phrase">request_percpu_irq</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-free-percpu-irq.html">Prev</a> </td><th width="60%" align="center">Interrupt Handling</th><td width="20%" align="right"> <a accesskey="n" href="API-irq-get-irqchip-state.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-request-percpu-irq"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>request_percpu_irq — 
2     allocate a percpu interrupt line
3 </p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><div class="funcsynopsis"><table border="0" class="funcprototype-table" summary="Function synopsis" style="cellspacing: 0; cellpadding: 0;"><tr><td><code class="funcdef">int <b class="fsfunc">request_percpu_irq </b>(</code></td><td>unsigned int <var class="pdparam">irq</var>, </td></tr><tr><td> </td><td>irq_handler_t <var class="pdparam">handler</var>, </td></tr><tr><td> </td><td>const char * <var class="pdparam">devname</var>, </td></tr><tr><td> </td><td>void __percpu * <var class="pdparam">dev_id</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="id-1.11.2.18.5"></a><h2>Arguments</h2><div class="variablelist"><dl class="variablelist"><dt><span class="term"><em class="parameter"><code>irq</code></em></span></dt><dd><p>
4     Interrupt line to allocate
5    </p></dd><dt><span class="term"><em class="parameter"><code>handler</code></em></span></dt><dd><p>
6     Function to be called when the IRQ occurs.
7    </p></dd><dt><span class="term"><em class="parameter"><code>devname</code></em></span></dt><dd><p>
8     An ascii name for the claiming device
9    </p></dd><dt><span class="term"><em class="parameter"><code>dev_id</code></em></span></dt><dd><p>
10     A percpu cookie passed back to the handler function
11    </p></dd></dl></div></div><div class="refsect1"><a name="id-1.11.2.18.6"></a><h2>Description</h2><p>
12   This call allocates interrupt resources and enables the
13   interrupt on the local CPU. If the interrupt is supposed to be
14   enabled on other CPUs, it has to be done on each CPU using
15   <code class="function">enable_percpu_irq</code>.
16   </p><p>
17
18   Dev_id must be globally unique. It is a per-cpu variable, and
19   the handler gets called with the interrupted CPU's instance of
20   that variable.
21</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-free-percpu-irq.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="hardware.html#id-1.11.2">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-irq-get-irqchip-state.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">free_percpu_irq</span> </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> <span class="phrase">irq_get_irqchip_state</span></td></tr></table></div></body></html>
22