#include <linux/module.h>
#include <linux/of_platform.h>
#include <sound/soc.h>
#include <sound/soc-dai.h>
#include "axg-tdm.h"
#include "meson-card.h"
struct axg_dai_link_tdm_mask { … };
struct axg_dai_link_tdm_data { … };
static const struct snd_soc_pcm_stream codec_params = …;
static int axg_card_tdm_be_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{ … }
static const struct snd_soc_ops axg_card_tdm_be_ops = …;
static int axg_card_tdm_dai_init(struct snd_soc_pcm_runtime *rtd)
{ … }
static int axg_card_tdm_dai_lb_init(struct snd_soc_pcm_runtime *rtd)
{ … }
static int axg_card_add_tdm_loopback(struct snd_soc_card *card,
int *index)
{ … }
static int axg_card_parse_cpu_tdm_slots(struct snd_soc_card *card,
struct snd_soc_dai_link *link,
struct device_node *node,
struct axg_dai_link_tdm_data *be)
{ … }
static int axg_card_parse_codecs_masks(struct snd_soc_card *card,
struct snd_soc_dai_link *link,
struct device_node *node,
struct axg_dai_link_tdm_data *be)
{ … }
static int axg_card_parse_tdm(struct snd_soc_card *card,
struct device_node *node,
int *index)
{ … }
static int axg_card_cpu_is_capture_fe(struct device_node *np)
{ … }
static int axg_card_cpu_is_playback_fe(struct device_node *np)
{ … }
static int axg_card_cpu_is_tdm_iface(struct device_node *np)
{ … }
static int axg_card_cpu_is_codec(struct device_node *np)
{ … }
static int axg_card_add_link(struct snd_soc_card *card, struct device_node *np,
int *index)
{ … }
static const struct meson_card_match_data axg_card_match_data = …;
static const struct of_device_id axg_card_of_match[] = …;
MODULE_DEVICE_TABLE(of, axg_card_of_match);
static struct platform_driver axg_card_pdrv = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;