#include "ff.h"
static int hw_rule_rate(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static int hw_rule_channels(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static void limit_channels_and_rates(struct snd_pcm_hardware *hw,
const unsigned int *pcm_channels)
{ … }
static int pcm_init_hw_params(struct snd_ff *ff,
struct snd_pcm_substream *substream)
{ … }
static int pcm_open(struct snd_pcm_substream *substream)
{ … }
static int pcm_close(struct snd_pcm_substream *substream)
{ … }
static int pcm_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *hw_params)
{ … }
static int pcm_hw_free(struct snd_pcm_substream *substream)
{ … }
static int pcm_capture_prepare(struct snd_pcm_substream *substream)
{ … }
static int pcm_playback_prepare(struct snd_pcm_substream *substream)
{ … }
static int pcm_capture_trigger(struct snd_pcm_substream *substream, int cmd)
{ … }
static int pcm_playback_trigger(struct snd_pcm_substream *substream, int cmd)
{ … }
static snd_pcm_uframes_t pcm_capture_pointer(struct snd_pcm_substream *sbstrm)
{ … }
static snd_pcm_uframes_t pcm_playback_pointer(struct snd_pcm_substream *sbstrm)
{ … }
static int pcm_capture_ack(struct snd_pcm_substream *substream)
{ … }
static int pcm_playback_ack(struct snd_pcm_substream *substream)
{ … }
int snd_ff_create_pcm_devices(struct snd_ff *ff)
{ … }