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