#include <linux/module.h>
#include <linux/pinctrl/consumer.h>
#include <linux/delay.h>
#include "uniperif.h"
#define UNIPERIF_MAX_FRAME_SZ …
#define UNIPERIF_ALLOWED_FRAME_SZ …
struct sti_uniperiph_dev_data { … };
static const struct sti_uniperiph_dev_data sti_uniplayer_hdmi = …;
static const struct sti_uniperiph_dev_data sti_uniplayer_pcm_out = …;
static const struct sti_uniperiph_dev_data sti_uniplayer_dac = …;
static const struct sti_uniperiph_dev_data sti_uniplayer_spdif = …;
static const struct sti_uniperiph_dev_data sti_unireader_pcm_in = …;
static const struct sti_uniperiph_dev_data sti_unireader_hdmi_in = …;
static const struct of_device_id snd_soc_sti_match[] = …;
MODULE_DEVICE_TABLE(of, snd_soc_sti_match);
int sti_uniperiph_reset(struct uniperif *uni)
{ … }
int sti_uniperiph_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
unsigned int rx_mask, int slots,
int slot_width)
{ … }
int sti_uniperiph_fix_tdm_chan(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
int sti_uniperiph_fix_tdm_format(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
int sti_uniperiph_get_tdm_word_pos(struct uniperif *uni,
unsigned int *word_pos)
{ … }
static int sti_uniperiph_dai_create_ctrl(struct snd_soc_dai *dai)
{ … }
int sti_uniperiph_dai_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params,
struct snd_soc_dai *dai)
{ … }
int sti_uniperiph_dai_set_fmt(struct snd_soc_dai *dai, unsigned int fmt)
{ … }
static int sti_uniperiph_suspend(struct snd_soc_component *component)
{ … }
static int sti_uniperiph_resume(struct snd_soc_component *component)
{ … }
int sti_uniperiph_dai_probe(struct snd_soc_dai *dai)
{ … }
static const struct snd_soc_dai_ops sti_uniperiph_dai_ops = …;
static const struct snd_soc_dai_driver sti_uniperiph_dai_template = …;
static const struct snd_soc_component_driver sti_uniperiph_dai_component = …;
static int sti_uniperiph_cpu_dai_of(struct device_node *node,
struct sti_uniperiph_data *priv)
{ … }
static int sti_uniperiph_probe(struct platform_device *pdev)
{ … }
static struct platform_driver sti_uniperiph_driver = …;
module_platform_driver(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_AUTHOR(…) …;
MODULE_LICENSE(…) …;