#include <sound/pcm_params.h>
#include "motu.h"
static int motu_rate_constraint(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static int motu_channels_constraint(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static void limit_channels_and_rates(struct snd_motu *motu,
struct snd_pcm_runtime *runtime,
struct snd_motu_packet_format *formats)
{ … }
static int init_hw_info(struct snd_motu *motu,
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 capture_prepare(struct snd_pcm_substream *substream)
{ … }
static int playback_prepare(struct snd_pcm_substream *substream)
{ … }
static int capture_trigger(struct snd_pcm_substream *substream, int cmd)
{ … }
static int playback_trigger(struct snd_pcm_substream *substream, int cmd)
{ … }
static snd_pcm_uframes_t capture_pointer(struct snd_pcm_substream *substream)
{ … }
static snd_pcm_uframes_t playback_pointer(struct snd_pcm_substream *substream)
{ … }
static int capture_ack(struct snd_pcm_substream *substream)
{ … }
static int playback_ack(struct snd_pcm_substream *substream)
{ … }
int snd_motu_create_pcm_devices(struct snd_motu *motu)
{ … }