Writing an ALSA Driver
|  | Next

# Writing an ALSA Driver

### Takashi Iwai

`<tiwai@suse.de>`

Copyright (c) 2002-2005 Takashi Iwai `<tiwai@suse.de>`

This document is free; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This document is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

Abstract

This document describes how to write an ALSA (Advanced Linux Sound Architecture) driver.

List of Examples

1.1. ALSA File Tree Structure
2.1. Basic Flow for PCI Drivers - Example
4.1. PCI Resource Management Example
5.1. PCM Example Code
5.2. PCM Instance with a Destructor
5.3. Interrupt Handler Case #1
5.4. Interrupt Handler Case #2
5.5. Example of Hardware Constraints
5.6. Example of Hardware Constraints for Channels
5.7. Example of Hardware Constraints for Formats
6.1. Definition of a Control
6.2. Example of info callback
6.3. Example of get callback
6.4. Example of put callback
7.1. Example of AC97 Interface
15.1. Sample Makefile for a driver xyz

|  | Next
|  | Preface