summaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/hda_codec.h
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2010-08-13 11:56:53 +0200
committerTakashi Iwai <tiwai@suse.de>2010-08-13 11:56:53 +0200
commitf0cea79724f03ee55e7b5933b6a6f6a3fd177710 (patch)
treebc0552e35dd5248d19f8d85f2ad84783371f9e08 /sound/pci/hda/hda_codec.h
parentbbbe33900d1f3c4402148ccb85234a741a6606a3 (diff)
downloadblackbird-op-linux-f0cea79724f03ee55e7b5933b6a6f6a3fd177710.tar.gz
blackbird-op-linux-f0cea79724f03ee55e7b5933b6a6f6a3fd177710.zip
ALSA: hda - Fix dynamic ADC change working again
The commit eb541337b7a43822fce7d0c9d967ee149b2d9a96 ALSA: hda - Make converter setups sticky changes the semantics of snd_hda_codec_cleanup_stream() not to clean up the stream at that moment but delay the action. This broke the codes expecting that the clean-up is done immediately, such as dynamic ADC changes in some codec drivers. This patch fixes the issue by introducing a lower helper, __snd_hda_codec_cleanup_stream(), to allow the immediate clean up. The original snd_hda_codec_cleanup_stream() is kept as is now. Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/hda_codec.h')
-rw-r--r--sound/pci/hda/hda_codec.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 3f7a479881e5..4303353feda9 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -963,7 +963,10 @@ void snd_hda_codec_cleanup(struct hda_codec *codec,
void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid,
u32 stream_tag,
int channel_id, int format);
-void snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid);
+void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid,
+ int do_now);
+#define snd_hda_codec_cleanup_stream(codec, nid) \
+ __snd_hda_codec_cleanup_stream(codec, nid, 0)
unsigned int snd_hda_calc_stream_format(unsigned int rate,
unsigned int channels,
unsigned int format,
OpenPOWER on IntegriCloud