#include <linux/clk.h>
#include <linux/export.h>
#include <linux/gpio/consumer.h>
#include <linux/module.h>
#include <linux/of.h>
#include <linux/platform_device.h>
#include <linux/slab.h>
#include <sound/core.h>
#include <sound/jack.h>
#include <sound/pcm.h>
#include <sound/pcm_params.h>
#include <sound/soc.h>
#include "tegra_asoc_machine.h"
static struct snd_soc_jack tegra_machine_hp_jack;
static struct snd_soc_jack_pin tegra_machine_hp_jack_pins[] = …;
static struct snd_soc_jack_gpio tegra_machine_hp_jack_gpio = …;
static struct snd_soc_jack tegra_machine_headset_jack;
static struct snd_soc_jack_pin tegra_machine_headset_jack_pins[] = …;
static struct snd_soc_jack_gpio tegra_machine_headset_jack_gpio = …;
static int coupled_mic_hp_check(void *data)
{ … }
static struct snd_soc_jack tegra_machine_mic_jack;
static struct snd_soc_jack_pin tegra_machine_mic_jack_pins[] = …;
static struct snd_soc_jack_gpio tegra_machine_mic_jack_gpio = …;
static int tegra_machine_event(struct snd_soc_dapm_widget *w,
struct snd_kcontrol *k, int event)
{ … }
static const struct snd_soc_dapm_widget tegra_machine_dapm_widgets[] = …;
static const struct snd_kcontrol_new tegra_machine_controls[] = …;
int tegra_asoc_machine_init(struct snd_soc_pcm_runtime *rtd)
{ … }
EXPORT_SYMBOL_GPL(…);
static unsigned int tegra_machine_mclk_rate_128(unsigned int srate)
{ … }
static unsigned int tegra_machine_mclk_rate_256(unsigned int srate)
{ … }
static unsigned int tegra_machine_mclk_rate_512(unsigned int srate)
{ … }
static unsigned int tegra_machine_mclk_rate_12mhz(unsigned int srate)
{ … }
static unsigned int tegra_machine_mclk_rate_6mhz(unsigned int srate)
{ … }
static int tegra_machine_hw_params(struct snd_pcm_substream *substream,
struct snd_pcm_hw_params *params)
{ … }
static const struct snd_soc_ops tegra_machine_snd_ops = …;
static void tegra_machine_node_release(void *of_node)
{ … }
static struct device_node *
tegra_machine_parse_phandle(struct device *dev, const char *name)
{ … }
static void tegra_machine_unregister_codec(void *pdev)
{ … }
static int tegra_machine_register_codec(struct device *dev, const char *name)
{ … }
int tegra_asoc_machine_probe(struct platform_device *pdev)
{ … }
EXPORT_SYMBOL_GPL(…);
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_wm8753_dai = …;
static struct snd_soc_card snd_soc_tegra_wm8753 = …;
static const struct tegra_asoc_data tegra_wm8753_data = …;
static int tegra_wm9712_init(struct snd_soc_pcm_runtime *rtd)
{ … }
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_wm9712_dai = …;
static struct snd_soc_card snd_soc_tegra_wm9712 = …;
static const struct tegra_asoc_data tegra_wm9712_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_max98090_dai = …;
static struct snd_soc_card snd_soc_tegra_max98090 = …;
static const struct tegra_asoc_data tegra_max98090_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_max98088_dai = …;
static struct snd_soc_card snd_soc_tegra_max98088 = …;
static const struct tegra_asoc_data tegra_max98088_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_sgtl5000_dai = …;
static struct snd_soc_card snd_soc_tegra_sgtl5000 = …;
static const struct tegra_asoc_data tegra_sgtl5000_data = …;
static const struct snd_soc_dapm_widget trimslice_dapm_widgets[] = …;
static const struct snd_soc_dapm_route trimslice_audio_map[] = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_tlv320aic23_dai = …;
static struct snd_soc_card snd_soc_tegra_trimslice = …;
static const struct tegra_asoc_data tegra_trimslice_data = …;
static int tegra_rt5677_init(struct snd_soc_pcm_runtime *rtd)
{ … }
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_rt5677_dai = …;
static struct snd_soc_card snd_soc_tegra_rt5677 = …;
static const struct tegra_asoc_data tegra_rt5677_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_rt5640_dai = …;
static struct snd_soc_card snd_soc_tegra_rt5640 = …;
static const struct tegra_asoc_data tegra_rt5640_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_rt5632_dai = …;
static struct snd_soc_card snd_soc_tegra_rt5632 = …;
static const struct tegra_asoc_data tegra_rt5632_data = …;
SND_SOC_DAILINK_DEFS(…);
static struct snd_soc_dai_link tegra_rt5631_dai = …;
static struct snd_soc_card snd_soc_tegra_rt5631 = …;
static const struct tegra_asoc_data tegra_rt5631_data = …;
static const struct of_device_id tegra_machine_of_match[] = …;
MODULE_DEVICE_TABLE(of, tegra_machine_of_match);
static struct platform_driver tegra_asoc_machine_driver = …;
module_platform_driver(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_AUTHOR(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;