1<html><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968"><title>free_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#idp1125715868" title="Interrupt Handling"><link rel="prev" href="API-remove-irq.html" title="remove_irq"><link rel="next" href="API-request-threaded-irq.html" title="request_threaded_irq"></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">free_irq</span></th></tr><tr><td width="20%" align="left"><a accesskey="p" href="API-remove-irq.html">Prev</a> </td><th width="60%" align="center">Interrupt Handling</th><td width="20%" align="right"> <a accesskey="n" href="API-request-threaded-irq.html">Next</a></td></tr></table><hr></div><div class="refentry"><a name="API-free-irq"></a><div class="titlepage"></div><div class="refnamediv"><h2>Name</h2><p>free_irq — 2 free an interrupt allocated with request_irq 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">void <b class="fsfunc">free_irq </b>(</code></td><td>unsigned int <var class="pdparam">irq</var>, </td></tr><tr><td> </td><td>void * <var class="pdparam">dev_id</var><code>)</code>;</td></tr></table><div class="funcprototype-spacer"> </div></div></div><div class="refsect1"><a name="idp1125811124"></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 free 5 </p></dd><dt><span class="term"><em class="parameter"><code>dev_id</code></em></span></dt><dd><p> 6 Device identity to free 7 </p></dd></dl></div></div><div class="refsect1"><a name="idp1125813748"></a><h2>Description</h2><p> 8 Remove an interrupt handler. The handler is removed and if the 9 interrupt line is no longer in use by any driver it is disabled. 10 On a shared IRQ the caller must ensure the interrupt is disabled 11 on the card it drives before calling this function. The function 12 does not return until any executing interrupts for this IRQ 13 have completed. 14 </p><p> 15 16 This function must not be called from interrupt context. 17</p></div></div><div class="navfooter"><hr><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="API-remove-irq.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="hardware.html#idp1125715868">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="API-request-threaded-irq.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top"><span class="phrase">remove_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">request_threaded_irq</span></td></tr></table></div></body></html> 18