Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 84b37df4 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
* '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
parents 95977d0e 41f9a314
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -83,8 +83,8 @@ config SND_SOC_ALL_CODECS


config SND_SOC_WM_HUBS
config SND_SOC_WM_HUBS
	tristate
	tristate
	default y if SND_SOC_WM8993=y
	default y if SND_SOC_WM8993=y || SND_SOC_WM8994=y
	default m if SND_SOC_WM8993=m
	default m if SND_SOC_WM8993=m || SND_SOC_WM8994=m


config SND_SOC_AC97_CODEC
config SND_SOC_AC97_CODEC
	tristate
	tristate
+2 −0
Original line number Original line Diff line number Diff line
@@ -127,6 +127,8 @@ static __devinit int wm8727_platform_probe(struct platform_device *pdev)
		goto err_codec;
		goto err_codec;
	}
	}


	return 0;

err_codec:
err_codec:
	snd_soc_unregister_codec(codec);
	snd_soc_unregister_codec(codec);
err:
err:
+0 −1
Original line number Original line Diff line number Diff line
@@ -94,7 +94,6 @@ SOC_DAPM_SINGLE("Bypass Switch", WM8776_OUTMUX, 2, 1, 0),


static const struct snd_soc_dapm_widget wm8776_dapm_widgets[] = {
static const struct snd_soc_dapm_widget wm8776_dapm_widgets[] = {
SND_SOC_DAPM_INPUT("AUX"),
SND_SOC_DAPM_INPUT("AUX"),
SND_SOC_DAPM_INPUT("AUX"),


SND_SOC_DAPM_INPUT("AIN1"),
SND_SOC_DAPM_INPUT("AIN1"),
SND_SOC_DAPM_INPUT("AIN2"),
SND_SOC_DAPM_INPUT("AIN2"),
+0 −1
Original line number Original line Diff line number Diff line
@@ -885,7 +885,6 @@ static int wm8988_register(struct wm8988_priv *wm8988,
	ret = snd_soc_register_dai(&wm8988_dai);
	ret = snd_soc_register_dai(&wm8988_dai);
	if (ret != 0) {
	if (ret != 0) {
		dev_err(codec->dev, "Failed to register DAI: %d\n", ret);
		dev_err(codec->dev, "Failed to register DAI: %d\n", ret);
		snd_soc_unregister_codec(codec);
		goto err_codec;
		goto err_codec;
	}
	}


+11 −16
Original line number Original line Diff line number Diff line
@@ -683,20 +683,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream,


	/* clock inversion (CKG2) */
	/* clock inversion (CKG2) */
	data = 0;
	data = 0;
	switch (SH_FSI_INVERSION_MASK & flags) {
	if (SH_FSI_LRM_INV & flags)
	case SH_FSI_LRM_INV:
		data |= 1 << 12;
		data = 1 << 12;
	if (SH_FSI_BRM_INV & flags)
		break;
		data |= 1 << 8;
	case SH_FSI_BRM_INV:
	if (SH_FSI_LRS_INV & flags)
		data = 1 << 8;
		data |= 1 << 4;
		break;
	if (SH_FSI_BRS_INV & flags)
	case SH_FSI_LRS_INV:
		data |= 1 << 0;
		data = 1 << 4;

		break;
	case SH_FSI_BRS_INV:
		data = 1 << 0;
		break;
	}
	fsi_reg_write(fsi, CKG2, data);
	fsi_reg_write(fsi, CKG2, data);


	/* do fmt, di fmt */
	/* do fmt, di fmt */
@@ -726,15 +721,15 @@ static int fsi_dai_startup(struct snd_pcm_substream *substream,
		break;
		break;
	case SH_FSI_FMT_TDM:
	case SH_FSI_FMT_TDM:
		msg = "TDM";
		msg = "TDM";
		data = CR_FMT(CR_TDM) | (fsi->chan - 1);
		fsi->chan = is_play ?
		fsi->chan = is_play ?
			SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags);
			SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags);
		data = CR_FMT(CR_TDM) | (fsi->chan - 1);
		break;
		break;
	case SH_FSI_FMT_TDM_DELAY:
	case SH_FSI_FMT_TDM_DELAY:
		msg = "TDM Delay";
		msg = "TDM Delay";
		data = CR_FMT(CR_TDM_D) | (fsi->chan - 1);
		fsi->chan = is_play ?
		fsi->chan = is_play ?
			SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags);
			SH_FSI_GET_CH_O(flags) : SH_FSI_GET_CH_I(flags);
		data = CR_FMT(CR_TDM_D) | (fsi->chan - 1);
		break;
		break;
	default:
	default:
		dev_err(dai->dev, "unknown format.\n");
		dev_err(dai->dev, "unknown format.\n");