diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-21 12:29:39 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-07-21 12:29:39 -0400 |
commit | 84b37df4198f8e68a731f1d7daac3465cbbea241 (patch) | |
tree | 59356686a77af1d39514c9868cfb2e34fb502605 | |
parent | 95977d0ef23ee37990ce8704dfd6c61eab02a548 (diff) | |
parent | 41f9a314af9c1f24b595f73ae73ee23db6d5e6a8 (diff) |
Merge branch 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6
* 'fix/asoc' of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:
ASoC: Select wm_hubs automatically for WM8994
ASoC: Remove duplicate AUX definition from WM8776
ASoC:: remove a redundant snd_soc_unregister_codec call in wm8988_register
ASoC: wm8727: add a missing return in wm8727_platform_probe
ASoC: fsi: fixup wrong value setting order of TDM
ASoC: fsi: fixup clock inversion operation
-rw-r--r-- | sound/soc/codecs/Kconfig | 4 | ||||
-rw-r--r-- | sound/soc/codecs/wm8727.c | 2 | ||||
-rw-r--r-- | sound/soc/codecs/wm8776.c | 1 | ||||
-rw-r--r-- | sound/soc/codecs/wm8988.c | 1 | ||||
-rw-r--r-- | sound/soc/sh/fsi.c | 27 |
5 files changed, 15 insertions, 20 deletions
diff --git a/sound/soc/codecs/Kconfig b/sound/soc/codecs/Kconfig index 31ac5538fe7e..5da30eb6ad00 100644 --- a/sound/soc/codecs/Kconfig +++ b/sound/soc/codecs/Kconfig | |||
@@ -83,8 +83,8 @@ config SND_SOC_ALL_CODECS | |||
83 | 83 | ||
84 | config SND_SOC_WM_HUBS | 84 | config SND_SOC_WM_HUBS |
85 | tristate | 85 | tristate |
86 | default y if SND_SOC_WM8993=y | 86 | default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y |
87 | default m if SND_SOC_WM8993=m | 87 | default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m |
88 | 88 | ||
89 | config SND_SOC_AC97_CODEC | 89 | config SND_SOC_AC97_CODEC |
90 | tristate | 90 | tristate |
diff --git a/sound/soc/codecs/wm8727.c b/sound/soc/codecs/wm8727.c index 1072621e93fd..9d1df2628136 100644 --- a/sound/soc/codecs/wm8727.c +++ b/sound/soc/codecs/wm8727.c | |||
@@ -127,6 +127,8 @@ static __devinit int wm8727_platform_probe(struct platform_device *pdev) | |||
127 | goto err_codec; | 127 | goto err_codec; |
128 | } | 128 | } |
129 | 129 | ||
130 | return 0; | ||
131 | |||
130 | err_codec: | 132 | err_codec: |
131 | snd_soc_unregister_codec(codec); | 133 | snd_soc_unregister_codec(codec); |
132 | err: | 134 | err: |
diff --git a/sound/soc/codecs/wm8776.c b/sound/soc/codecs/wm8776.c index 7e4a627b4c7e..4e212ed62ea6 100644 --- a/sound/soc/codecs/wm8776.c +++ b/sound/soc/codecs/wm8776.c | |||
@@ -94,7 +94,6 @@ SOC_DAPM_SINGLE("Bypass Switch", WM8776_OUTMUX, 2, 1, 0), | |||
94 | 94 | ||
95 | static const struct snd_soc_dapm_widget wm8776_dapm_widgets[] = { | 95 | static const struct snd_soc_dapm_widget wm8776_dapm_widgets[] = { |
96 | SND_SOC_DAPM_INPUT("AUX"), | 96 | SND_SOC_DAPM_INPUT("AUX"), |
97 | SND_SOC_DAPM_INPUT("AUX"), | ||
98 | 97 | ||
99 | SND_SOC_DAPM_INPUT("AIN1"), | 98 | SND_SOC_DAPM_INPUT("AIN1"), |
100 | SND_SOC_DAPM_INPUT("AIN2"), | 99 | SND_SOC_DAPM_INPUT("AIN2"), |
diff --git a/sound/soc/codecs/wm8988.c b/sound/soc/codecs/wm8988.c index 0417dae32e6f..19ad590ca0b3 100644 --- a/sound/soc/codecs/wm8988.c +++ b/sound/soc/codecs/wm8988.c | |||
@@ -885,7 +885,6 @@ static int wm8988_register(struct wm8988_priv *wm8988, | |||
885 | ret = snd_soc_register_dai(&wm8988_dai); | 885 | ret = snd_soc_register_dai(&wm8988_dai); |
886 | if (ret != 0) { | 886 | if (ret != 0) { |
887 | dev_err(codec->dev, "Failed to register DAI: %d\n", ret); | 887 | dev_err(codec->dev, "Failed to register DAI: %d\n", ret); |
888 | snd_soc_unregister_codec(codec); | ||
889 | goto err_codec; | 888 | goto err_codec; |
890 | } | 889 | } |
891 | 890 | ||
diff --git a/sound/soc/sh/fsi.c b/sound/soc/sh/fsi.c index 3396a0db06ba..ec4acac49ebd 100644 --- a/sound/soc/sh/fsi.c +++ b/sound/soc/sh/fsi.c | |||
@@ -683,20 +683,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream, | |||
683 | 683 | ||
684 | /* clock inversion (CKG2) */ | 684 | /* clock inversion (CKG2) */ |
685 | data = 0; | 685 | data = 0; |
686 | switch (SH_FSI_INVERSION_MASK & flags) { | 686 | if (SH_FSI_LRM_INV & flags) |
687 | case SH_FSI_LRM_INV: | 687 | data |= 1 << 12; |
688 | data = 1 << 12; | 688 | if (SH_FSI_BRM_INV & flags) |
689 | break; | 689 | data |= 1 << 8; |
690 | case SH_FSI_BRM_INV: | 690 | if (SH_FSI_LRS_INV & flags) |
691 | data = 1 << 8; | 691 | data |= 1 << 4; |
692 | break; | 692 | if (SH_FSI_BRS_INV & flags) |
693 | case SH_FSI_LRS_INV: | 693 | data |= 1 << 0; |
694 | data = 1 << 4; | 694 | |
695 | break; | ||
696 | case SH_FSI_BRS_INV: | ||
697 | data = 1 << 0; | ||
698 | break; | ||
699 | } | ||
700 | fsi_reg_write(fsi, CKG2, data); | 695 | fsi_reg_write(fsi, CKG2, data); |
701 | 696 | ||
702 | /* do fmt, di fmt */ | 697 | /* do fmt, di fmt */ |
@@ -726,15 +721,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream, | |||
726 | break; | 721 | break; |
727 | case SH_FSI_FMT_TDM: | 722 | case SH_FSI_FMT_TDM: |
728 | msg = "TDM"; | 723 | msg = "TDM"; |
729 | data = CR_FMT(CR_TDM) | (fsi->chan - 1); | ||
730 | fsi->chan = is_play ? | 724 | fsi->chan = is_play ? |
731 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); | 725 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); |
726 | data = CR_FMT(CR_TDM) | (fsi->chan - 1); | ||
732 | break; | 727 | break; |
733 | case SH_FSI_FMT_TDM_DELAY: | 728 | case SH_FSI_FMT_TDM_DELAY: |
734 | msg = "TDM Delay"; | 729 | msg = "TDM Delay"; |
735 | data = CR_FMT(CR_TDM_D) | (fsi->chan - 1); | ||
736 | fsi->chan = is_play ? | 730 | fsi->chan = is_play ? |
737 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); | 731 | SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags); |
732 | data = CR_FMT(CR_TDM_D) | (fsi->chan - 1); | ||
738 | break; | 733 | break; |
739 | default: | 734 | default: |
740 | dev_err(dai->dev, "unknown format.\n"); | 735 | dev_err(dai->dev, "unknown format.\n"); |