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

Commit 87b57fe2 authored by Mark Brown's avatar Mark Brown Committed by Takashi Iwai
Browse files

[ALSA] wm9713: Don't control touch screen power on suspend



Leave the power bit for the touch screen alone when suspending the WM9713
so that the touch screen driver can handle it. This allows the touch
screen to be used as a wakeup source when the system is suspended.

Signed-off-by: default avatarMark Brown <broonie@opensource.wolfsonmicro.com>
Signed-off-by: default avatarTakashi Iwai <tiwai@suse.de>
parent a295e09e
Loading
Loading
Loading
Loading
+10 −1
Original line number Diff line number Diff line
@@ -1132,8 +1132,17 @@ static int wm9713_soc_suspend(struct platform_device *pdev,
{
	struct snd_soc_device *socdev = platform_get_drvdata(pdev);
	struct snd_soc_codec *codec = socdev->codec;
	u16 reg;

	/* Disable everything except touchpanel - that will be handled
	 * by the touch driver and left disabled if touch is not in
	 * use. */
	reg = ac97_read(codec, AC97_EXTENDED_MID);
	ac97_write(codec, AC97_EXTENDED_MID, reg | 0x7fff);
	ac97_write(codec, AC97_EXTENDED_MSTATUS, 0xffff);
	ac97_write(codec, AC97_POWERDOWN, 0x6f00);
	ac97_write(codec, AC97_POWERDOWN, 0xffff);

	wm9713_dapm_event(codec, SNDRV_CTL_POWER_D3cold);
	return 0;
}