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="Linux generic IRQ handling"><link rel="up" href="pubfunctions.html" title="Chapter 9. Public Functions Provided"><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">Chapter 9. Public Functions Provided</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.19.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.19.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="pubfunctions.html">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