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

Commit ac190c76 authored by Takashi Iwai's avatar Takashi Iwai
Browse files

Merge tag 'asoc-3.6' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus

ASoC: Additional updates for 3.6

A few updates for issues discovered during the merge window, the main
one being the fix for the issues with defaulting to use of regmap
without properly checking if there was I/O in place already.
parents 707fba3f 98d3088e
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -2406,6 +2406,10 @@ static int ab8500_codec_probe(struct snd_soc_codec *codec)

	/* Setup AB8500 according to board-settings */
	pdata = (struct ab8500_platform_data *)dev_get_platdata(dev->parent);

	/* Inform SoC Core that we have our own I/O arrangements. */
	codec->control_data = (void *)true;

	status = ab8500_audio_setup_mics(codec, &pdata->codec->amics);
	if (status < 0) {
		pr_err("%s: Failed to setup mics (%d)!\n", __func__, status);
+1 −0
Original line number Diff line number Diff line
@@ -186,6 +186,7 @@ static int ad1980_soc_probe(struct snd_soc_codec *codec)

	printk(KERN_INFO "AD1980 SoC Audio Codec\n");

	codec->control_data = codec;	/* we don't use regmap! */
	ret = snd_soc_new_ac97_codec(codec, &soc_ac97_ops, 0);
	if (ret < 0) {
		printk(KERN_ERR "ad1980: failed to register AC97 codec\n");
+2 −0
Original line number Diff line number Diff line
@@ -581,6 +581,8 @@ static int mc13783_probe(struct snd_soc_codec *codec)
{
	struct mc13783_priv *priv = snd_soc_codec_get_drvdata(codec);

	codec->control_data = priv->mc13xxx;

	mc13xxx_lock(priv->mc13xxx);

	/* these are the reset values */
+1 −2
Original line number Diff line number Diff line
@@ -239,6 +239,7 @@ static const struct snd_soc_dapm_route sgtl5000_dapm_routes[] = {
	{"Headphone Mux", "DAC", "DAC"},	/* dac --> hp_mux */
	{"LO", NULL, "DAC"},			/* dac --> line_out */

	{"LINE_IN", NULL, "VAG_POWER"},
	{"Headphone Mux", "LINE_IN", "LINE_IN"},/* line_in --> hp_mux */
	{"HP", NULL, "Headphone Mux"},		/* hp_mux --> hp */

@@ -1357,8 +1358,6 @@ static int sgtl5000_probe(struct snd_soc_codec *codec)
	if (ret)
		goto err;

	snd_soc_dapm_new_widgets(&codec->dapm);

	return 0;

err:
+1 −0
Original line number Diff line number Diff line
@@ -340,6 +340,7 @@ static int stac9766_codec_probe(struct snd_soc_codec *codec)

	printk(KERN_INFO "STAC9766 SoC Audio Codec %s\n", STAC9766_VERSION);

	codec->control_data = codec;	/* we don't use regmap! */
	ret = snd_soc_new_ac97_codec(codec, &soc_ac97_ops, 0);
	if (ret < 0)
		goto codec_err;
Loading