[alsa-devel] I don't understand snd_pcm_ops

Timur Tabi timur at freescale.com
Sat May 19 01:13:49 CEST 2007

I'm new to ALSA driver development, and I'm writing an SOC driver for new hardware.  Can 
someone explain to me what the snd_pcm_ops structure is for?  And it sounds like a stupid 
question, but after studying documentation and sample code, I'm still confused.

First off, I thought PCM stood for Pulse Code Modulation, but that just describes the 
format of the digital data.  I don't understand what a PCM operation could be.

I've seen documentation where PCM is considered an alternative to I2S or AC97.  But if you 
look at eti_b1_wm8731.c, you'll see this:

#include "at91-pcm.h"
#include "at91-i2s.h"

So is the AT91 a PCM device or an I2S device???

Some background: I'm writing driver for a new SOC that has an I2S interface, and it's 
talking to a CS4270 codec, but the CS4270 codec is wired up in "stand-alone" mode, so 
there's no software configuration.

Timur Tabi
Linux Kernel Developer @ Freescale

More information about the Alsa-devel mailing list