#include <linux/module.h>
#include <linux/platform_device.h>
#include <linux/delay.h>
#include <linux/pm_runtime.h>
#include <linux/dma-mapping.h>
#include <sound/soc.h>
#include <linux/regmap.h>
#include <sound/pcm_params.h>
#include "loongson_i2s.h"
#define LOONGSON_I2S_FORMATS …
static int loongson_i2s_trigger(struct snd_pcm_substream *substream, int cmd,
struct snd_soc_dai *dai)
{ … }
static int loongson_i2s_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
static int loongson_i2s_set_dai_sysclk(struct snd_soc_dai *dai, int clk_id,
unsigned int freq, int dir)
{ … }
static int loongson_i2s_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{ … }
static int loongson_i2s_dai_probe(struct snd_soc_dai *cpu_dai)
{ … }
static const struct snd_soc_dai_ops loongson_i2s_dai_ops = …;
struct snd_soc_dai_driver loongson_i2s_dai = …;
static int i2s_suspend(struct device *dev)
{ … }
static int i2s_resume(struct device *dev)
{ … }
const struct dev_pm_ops loongson_i2s_pm = …;