<?xml version="1.0" encoding="ANSI_X3.4-1968" standalone="no"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=ANSI_X3.4-1968" /><title>Header Files</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2" /><link rel="home" href="index.html" title="Writing an ALSA Driver" /><link rel="up" href="ch02.html" title="Chapter 2. Basic Flow for PCI Drivers" /><link rel="prev" href="ch02s04.html" title="Destructor" /><link rel="next" href="ch03.html" title="Chapter 3. Management of Cards and Components" /></head><body><div class="navheader"><table width="100%" summary="Navigation header"><tr><th colspan="3" align="center">Header Files</th></tr><tr><td width="20%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><th width="60%" align="center">Chapter 2. Basic Flow for PCI Drivers</th><td width="20%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr></table><hr /></div><div class="section" title="Header Files"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a id="basic-flow-header-files"></a>Header Files</h2></div></div></div><p> For the above example, at least the following include files are necessary. </p><div class="informalexample"><pre class="programlisting"> #include <linux/init.h> #include <linux/pci.h> #include <linux/slab.h> #include <sound/core.h> #include <sound/initval.h> </pre></div><p> where the last one is necessary only when module options are defined in the source file. If the code is split into several files, the files without module options don't need them. </p><p> In addition to these headers, you'll need <code class="filename"><linux/interrupt.h></code> for interrupt handling, and <code class="filename"><asm/io.h></code> for I/O access. If you use the <code class="function">mdelay()</code> or <code class="function">udelay()</code> functions, you'll need to include <code class="filename"><linux/delay.h></code> too. </p><p> The ALSA interfaces like the PCM and control APIs are defined in other <code class="filename"><sound/xxx.h></code> header files. They have to be included after <code class="filename"><sound/core.h></code>. </p></div><div class="navfooter"><hr /><table width="100%" summary="Navigation footer"><tr><td width="40%" align="left"><a accesskey="p" href="ch02s04.html">Prev</a> </td><td width="20%" align="center"><a accesskey="u" href="ch02.html">Up</a></td><td width="40%" align="right"> <a accesskey="n" href="ch03.html">Next</a></td></tr><tr><td width="40%" align="left" valign="top">Destructor </td><td width="20%" align="center"><a accesskey="h" href="index.html">Home</a></td><td width="40%" align="right" valign="top"> Chapter 3. Management of Cards and Components</td></tr></table></div></body></html>