summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorNikesh Oswal <noswal@nvidia.com>2011-10-19 18:36:26 +0530
committerDan Willemsen <dwillemsen@nvidia.com>2011-11-30 21:49:33 -0800
commitb77c1336fc29ac5a7066de146100551258a01746 (patch)
tree4b4df7edec01751ceace3bc977c40d67bcd4d922 /sound
parent862676d2227eca5539cbe64bbb34ebb7d19fdaa2 (diff)
asoc: tegra: max98088 machine: report jack status at bootup
Bug: 890385 Bug: 862023 Change-Id: I154ba0c016c058bd7c3ca04b496c3fce9639ea4f Signed-off-by: Nikesh Oswal <noswal@nvidia.com> Reviewed-on: http://git-master/r/59104 Reviewed-by: Scott Peterson <speterson@nvidia.com> Tested-by: Scott Peterson <speterson@nvidia.com> Rebase-Id: Re63b865dff15841a27d692a078c327fc84b7edfe
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/tegra/tegra_max98088.c34
1 files changed, 18 insertions, 16 deletions
diff --git a/sound/soc/tegra/tegra_max98088.c b/sound/soc/tegra/tegra_max98088.c
index 899f5e86f0d8..6d4062019b7f 100644
--- a/sound/soc/tegra/tegra_max98088.c
+++ b/sound/soc/tegra/tegra_max98088.c
@@ -319,9 +319,6 @@ static int tegra_max98088_init(struct snd_soc_pcm_runtime *rtd)
if (ret < 0)
return ret;
- max98088_headset_detect(codec, &tegra_max98088_hp_jack,
- SND_JACK_HEADSET);
-
#ifdef CONFIG_SWITCH
snd_soc_jack_notifier_register(&tegra_max98088_hp_jack,
&headset_switch_nb);
@@ -331,6 +328,9 @@ static int tegra_max98088_init(struct snd_soc_pcm_runtime *rtd)
tegra_max98088_hp_jack_pins);
#endif
+ max98088_headset_detect(codec, &tegra_max98088_hp_jack,
+ SND_JACK_HEADSET);
+
snd_soc_dapm_nc_pin(dapm, "INA1");
snd_soc_dapm_nc_pin(dapm, "INA2");
snd_soc_dapm_nc_pin(dapm, "INB1");
@@ -397,27 +397,29 @@ static __devinit int tegra_max98088_driver_probe(struct platform_device *pdev)
platform_set_drvdata(pdev, card);
snd_soc_card_set_drvdata(card, machine);
- ret = snd_soc_register_card(card);
- if (ret) {
- dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n",
- ret);
- goto err_fini_utils;
- }
-
#ifdef CONFIG_SWITCH
- /* Add h2w swith class support */
+ /* Add h2w switch class support */
ret = switch_dev_register(&wired_switch_dev);
if (ret < 0) {
- dev_err(&pdev->dev, "not able to register switch device "
- "(%d)\n", ret);
- goto err_unregister_card;
+ dev_err(&pdev->dev, "not able to register switch device\n",
+ ret);
+ goto err_fini_utils;
}
#endif
+ ret = snd_soc_register_card(card);
+ if (ret) {
+ dev_err(&pdev->dev, "snd_soc_register_card failed (%d)\n",
+ ret);
+ goto err_switch_unregister;
+ }
+
return 0;
-err_unregister_card:
- snd_soc_unregister_card(card);
+err_switch_unregister:
+#ifdef CONFIG_SWITCH
+ switch_dev_unregister(&wired_switch_dev);
+#endif
err_fini_utils:
tegra_asoc_utils_fini(&machine->util_data);
err_free_machine: