#include <linux/bitfield.h>
#include <linux/regmap.h>
#include <sound/pcm_params.h>
#include "mt8188-afe-clk.h"
#include "mt8188-afe-common.h"
#include "mt8188-reg.h"
enum { … };
enum { … };
struct mtk_dai_pcm_rate { … };
struct mtk_dai_pcmif_priv { … };
static const struct mtk_dai_pcm_rate mtk_dai_pcm_rates[] = …;
static int mtk_dai_pcm_mode(unsigned int rate)
{ … }
static const struct snd_kcontrol_new mtk_dai_pcm_o000_mix[] = …;
static const struct snd_kcontrol_new mtk_dai_pcm_o001_mix[] = …;
static const struct snd_soc_dapm_widget mtk_dai_pcm_widgets[] = …;
static const struct snd_soc_dapm_route mtk_dai_pcm_routes[] = …;
static int mtk_dai_pcm_configure(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int mtk_dai_pcm_prepare(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static int mtk_dai_pcm_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{ … }
static const struct snd_soc_dai_ops mtk_dai_pcm_ops = …;
#define MTK_PCM_RATES …
#define MTK_PCM_FORMATS …
static struct snd_soc_dai_driver mtk_dai_pcm_driver[] = …;
static int init_pcmif_priv_data(struct mtk_base_afe *afe)
{ … }
int mt8188_dai_pcm_register(struct mtk_base_afe *afe)
{ … }