Preface

This document describes how to write an
ALSA (Advanced Linux Sound Architecture)
driver. The document focuses mainly on PCI soundcards.
In the case of other device types, the API might
be different, too. However, at least the ALSA kernel API is
consistent, and therefore it would be still a bit help for
writing them.

This document targets people who already have enough
C language skills and have basic linux kernel programming
knowledge. This document doesn't explain the general
topic of linux kernel coding and doesn't cover low-level
driver implementation details. It only describes
the standard way to write a PCI sound driver on ALSA.

If you are already familiar with the older ALSA ver.0.5.x API, you
can check the drivers such as sound/pci/es1938.c or
sound/pci/maestro3.c which have also almost the same
code-base in the ALSA 0.5.x tree, so you can compare the differences.

This document is still a draft version. Any feedback and
corrections, please!!