#include <linux/clk.h>
#include <linux/framer/framer.h>
#include <linux/module.h>
#include <linux/notifier.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <sound/jack.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include <sound/tlv.h>
#define FRAMER_NB_CHANNEL …
#define FRAMER_JACK_MASK …
struct framer_codec { … };
static int framer_dai_set_tdm_slot(struct snd_soc_dai *dai, unsigned int tx_mask,
unsigned int rx_mask, int slots, int width)
{ … }
static int framer_dai_hw_rule_channels_by_format(struct snd_soc_dai *dai,
struct snd_pcm_hw_params *params,
unsigned int nb_ts)
{ … }
static int framer_dai_hw_rule_playback_channels_by_format(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static int framer_dai_hw_rule_capture_channels_by_format(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static int framer_dai_hw_rule_format_by_channels(struct snd_soc_dai *dai,
struct snd_pcm_hw_params *params,
unsigned int nb_ts)
{ … }
static int framer_dai_hw_rule_playback_format_by_channels(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static int framer_dai_hw_rule_capture_format_by_channels(struct snd_pcm_hw_params *params,
struct snd_pcm_hw_rule *rule)
{ … }
static u64 framer_formats(u8 nb_ts)
{ … }
static int framer_dai_startup(struct snd_pcm_substream *substream,
struct snd_soc_dai *dai)
{ … }
static const u64 framer_dai_formats[] = …;
static const struct snd_soc_dai_ops framer_dai_ops = …;
static struct snd_soc_dai_driver framer_dai_driver = …;
static void framer_carrier_work(struct work_struct *work)
{ … }
static int framer_carrier_notifier(struct notifier_block *nb, unsigned long action,
void *data)
{ … }
static int framer_component_probe(struct snd_soc_component *component)
{ … }
static void framer_component_remove(struct snd_soc_component *component)
{ … }
static const struct snd_soc_component_driver framer_component_driver = …;
static int framer_codec_probe(struct platform_device *pdev)
{ … }
static struct platform_driver framer_codec_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;