ALSA: hda - Move codec suspend/resume to codec driver
authorTakashi Iwai <tiwai@suse.de>
Wed, 18 Feb 2015 14:39:59 +0000 (15:39 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 23 Feb 2015 08:16:07 +0000 (09:16 +0100)
commit59ed1eade1d6ec24751baca99305f9713a5d779e
tree47846571754cc487fcc5eb17e03cf91b7b258301
parentd8a766a16ed90c4b3bd7afa6e1417f8d715db507
ALSA: hda - Move codec suspend/resume to codec driver

This patch moves the suspend/resume mechanisms down to each codec
driver level, as we have a proper codec driver bound on the bus now.
Then we get the asynchronous PM gratis without fiddling much in the
driver level.

As a soft-landing transition, implement the common suspend/resume pm
ops for hda_codec_driver and keep the each codec driver intact.  Only
the callers of suspend/resume in the controller side (azx_suspend()
and azx_resume()) are removed.

Another involved place is azx_bus_reset() calling the temporary
suspend and resume as a hackish method of bus reset.  The HD-audio
core provide a helper function snd_hda_bus_reset() instead.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_bind.c
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_codec.h
sound/pci/hda/hda_controller.c
sound/pci/hda/hda_intel.c
sound/pci/hda/hda_tegra.c