Merge remote-tracking branch 'asoc/topic/tegra' into asoc-next
This commit is contained in:
commit
325394434f
4 changed files with 45 additions and 14 deletions
|
@ -125,6 +125,18 @@ static int tegra_alc5632_asoc_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int tegra_alc5632_card_remove(struct snd_soc_card *card)
|
||||||
|
{
|
||||||
|
struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
if (gpio_is_valid(machine->gpio_hp_det)) {
|
||||||
|
snd_soc_jack_free_gpios(&tegra_alc5632_hs_jack, 1,
|
||||||
|
&tegra_alc5632_hp_jack_gpio);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct snd_soc_dai_link tegra_alc5632_dai = {
|
static struct snd_soc_dai_link tegra_alc5632_dai = {
|
||||||
.name = "ALC5632",
|
.name = "ALC5632",
|
||||||
.stream_name = "ALC5632 PCM",
|
.stream_name = "ALC5632 PCM",
|
||||||
|
@ -139,6 +151,7 @@ static struct snd_soc_dai_link tegra_alc5632_dai = {
|
||||||
static struct snd_soc_card snd_soc_tegra_alc5632 = {
|
static struct snd_soc_card snd_soc_tegra_alc5632 = {
|
||||||
.name = "tegra-alc5632",
|
.name = "tegra-alc5632",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
|
.remove = tegra_alc5632_card_remove,
|
||||||
.dai_link = &tegra_alc5632_dai,
|
.dai_link = &tegra_alc5632_dai,
|
||||||
.num_links = 1,
|
.num_links = 1,
|
||||||
.controls = tegra_alc5632_controls,
|
.controls = tegra_alc5632_controls,
|
||||||
|
@ -223,9 +236,6 @@ static int tegra_alc5632_remove(struct platform_device *pdev)
|
||||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||||
struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card);
|
struct tegra_alc5632 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
snd_soc_jack_free_gpios(&tegra_alc5632_hs_jack, 1,
|
|
||||||
&tegra_alc5632_hp_jack_gpio);
|
|
||||||
|
|
||||||
snd_soc_unregister_card(card);
|
snd_soc_unregister_card(card);
|
||||||
|
|
||||||
tegra_asoc_utils_fini(&machine->util_data);
|
tegra_asoc_utils_fini(&machine->util_data);
|
||||||
|
|
|
@ -145,6 +145,18 @@ static int tegra_max98090_asoc_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int tegra_max98090_card_remove(struct snd_soc_card *card)
|
||||||
|
{
|
||||||
|
struct tegra_max98090 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
if (gpio_is_valid(machine->gpio_hp_det)) {
|
||||||
|
snd_soc_jack_free_gpios(&tegra_max98090_hp_jack, 1,
|
||||||
|
&tegra_max98090_hp_jack_gpio);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct snd_soc_dai_link tegra_max98090_dai = {
|
static struct snd_soc_dai_link tegra_max98090_dai = {
|
||||||
.name = "max98090",
|
.name = "max98090",
|
||||||
.stream_name = "max98090 PCM",
|
.stream_name = "max98090 PCM",
|
||||||
|
@ -158,6 +170,7 @@ static struct snd_soc_dai_link tegra_max98090_dai = {
|
||||||
static struct snd_soc_card snd_soc_tegra_max98090 = {
|
static struct snd_soc_card snd_soc_tegra_max98090 = {
|
||||||
.name = "tegra-max98090",
|
.name = "tegra-max98090",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
|
.remove = tegra_max98090_card_remove,
|
||||||
.dai_link = &tegra_max98090_dai,
|
.dai_link = &tegra_max98090_dai,
|
||||||
.num_links = 1,
|
.num_links = 1,
|
||||||
.controls = tegra_max98090_controls,
|
.controls = tegra_max98090_controls,
|
||||||
|
@ -241,9 +254,6 @@ static int tegra_max98090_remove(struct platform_device *pdev)
|
||||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||||
struct tegra_max98090 *machine = snd_soc_card_get_drvdata(card);
|
struct tegra_max98090 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
snd_soc_jack_free_gpios(&tegra_max98090_hp_jack, 1,
|
|
||||||
&tegra_max98090_hp_jack_gpio);
|
|
||||||
|
|
||||||
snd_soc_unregister_card(card);
|
snd_soc_unregister_card(card);
|
||||||
|
|
||||||
tegra_asoc_utils_fini(&machine->util_data);
|
tegra_asoc_utils_fini(&machine->util_data);
|
||||||
|
|
|
@ -128,6 +128,18 @@ static int tegra_rt5640_asoc_init(struct snd_soc_pcm_runtime *rtd)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int tegra_rt5640_card_remove(struct snd_soc_card *card)
|
||||||
|
{
|
||||||
|
struct tegra_rt5640 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
if (gpio_is_valid(machine->gpio_hp_det)) {
|
||||||
|
snd_soc_jack_free_gpios(&tegra_rt5640_hp_jack, 1,
|
||||||
|
&tegra_rt5640_hp_jack_gpio);
|
||||||
|
}
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static struct snd_soc_dai_link tegra_rt5640_dai = {
|
static struct snd_soc_dai_link tegra_rt5640_dai = {
|
||||||
.name = "RT5640",
|
.name = "RT5640",
|
||||||
.stream_name = "RT5640 PCM",
|
.stream_name = "RT5640 PCM",
|
||||||
|
@ -141,6 +153,7 @@ static struct snd_soc_dai_link tegra_rt5640_dai = {
|
||||||
static struct snd_soc_card snd_soc_tegra_rt5640 = {
|
static struct snd_soc_card snd_soc_tegra_rt5640 = {
|
||||||
.name = "tegra-rt5640",
|
.name = "tegra-rt5640",
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
|
.remove = tegra_rt5640_card_remove,
|
||||||
.dai_link = &tegra_rt5640_dai,
|
.dai_link = &tegra_rt5640_dai,
|
||||||
.num_links = 1,
|
.num_links = 1,
|
||||||
.controls = tegra_rt5640_controls,
|
.controls = tegra_rt5640_controls,
|
||||||
|
@ -224,9 +237,6 @@ static int tegra_rt5640_remove(struct platform_device *pdev)
|
||||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||||
struct tegra_rt5640 *machine = snd_soc_card_get_drvdata(card);
|
struct tegra_rt5640 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
snd_soc_jack_free_gpios(&tegra_rt5640_hp_jack, 1,
|
|
||||||
&tegra_rt5640_hp_jack_gpio);
|
|
||||||
|
|
||||||
snd_soc_unregister_card(card);
|
snd_soc_unregister_card(card);
|
||||||
|
|
||||||
tegra_asoc_utils_fini(&machine->util_data);
|
tegra_asoc_utils_fini(&machine->util_data);
|
||||||
|
|
|
@ -206,6 +206,12 @@ static int tegra_wm8903_remove(struct snd_soc_card *card)
|
||||||
struct snd_soc_pcm_runtime *rtd = &(card->rtd[0]);
|
struct snd_soc_pcm_runtime *rtd = &(card->rtd[0]);
|
||||||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
||||||
struct snd_soc_codec *codec = codec_dai->codec;
|
struct snd_soc_codec *codec = codec_dai->codec;
|
||||||
|
struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
|
if (gpio_is_valid(machine->gpio_hp_det)) {
|
||||||
|
snd_soc_jack_free_gpios(&tegra_wm8903_hp_jack, 1,
|
||||||
|
&tegra_wm8903_hp_jack_gpio);
|
||||||
|
}
|
||||||
|
|
||||||
wm8903_mic_detect(codec, NULL, 0, 0);
|
wm8903_mic_detect(codec, NULL, 0, 0);
|
||||||
|
|
||||||
|
@ -228,9 +234,7 @@ static struct snd_soc_card snd_soc_tegra_wm8903 = {
|
||||||
.owner = THIS_MODULE,
|
.owner = THIS_MODULE,
|
||||||
.dai_link = &tegra_wm8903_dai,
|
.dai_link = &tegra_wm8903_dai,
|
||||||
.num_links = 1,
|
.num_links = 1,
|
||||||
|
|
||||||
.remove = tegra_wm8903_remove,
|
.remove = tegra_wm8903_remove,
|
||||||
|
|
||||||
.controls = tegra_wm8903_controls,
|
.controls = tegra_wm8903_controls,
|
||||||
.num_controls = ARRAY_SIZE(tegra_wm8903_controls),
|
.num_controls = ARRAY_SIZE(tegra_wm8903_controls),
|
||||||
.dapm_widgets = tegra_wm8903_dapm_widgets,
|
.dapm_widgets = tegra_wm8903_dapm_widgets,
|
||||||
|
@ -368,9 +372,6 @@ static int tegra_wm8903_driver_remove(struct platform_device *pdev)
|
||||||
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
struct snd_soc_card *card = platform_get_drvdata(pdev);
|
||||||
struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
|
struct tegra_wm8903 *machine = snd_soc_card_get_drvdata(card);
|
||||||
|
|
||||||
snd_soc_jack_free_gpios(&tegra_wm8903_hp_jack, 1,
|
|
||||||
&tegra_wm8903_hp_jack_gpio);
|
|
||||||
|
|
||||||
snd_soc_unregister_card(card);
|
snd_soc_unregister_card(card);
|
||||||
|
|
||||||
tegra_asoc_utils_fini(&machine->util_data);
|
tegra_asoc_utils_fini(&machine->util_data);
|
||||||
|
|
Loading…
Reference in a new issue