ALSA: hda - Fix undefined symbol due to builtin/module mixup
authorTakashi Iwai <tiwai@suse.de>
Mon, 10 Feb 2014 10:43:41 +0000 (11:43 +0100)
committerTakashi Iwai <tiwai@suse.de>
Mon, 10 Feb 2014 10:50:01 +0000 (11:50 +0100)
commitef8e39b51f24c8ac907e1f1995910ee3083375e0
treed23be3da2ffe43474b89d545150b30d45dfcdb16
parentf88abaa0d0dc0d1f1a9ae21f8e822918e5aadfdf
ALSA: hda - Fix undefined symbol due to builtin/module mixup

Even after the fix for leftover kconfig handling (commit f8f1becf),
the current code still doesn't handle properly the builtin/module
mixup case between the core snd-hda-codec and other codec drivers.
For example, when CONFIG_SND_HDA_INTEL=y and
CONFIG_SND_HDA_CODEC_HDMI=m, it'll end up with an unresolved symbol
snd_hda_parse_hdmi_codec.  This patch fixes the issue.

Now codec->parser points to the parser object *only* when a module
(either generic or HDMI parser) is loaded and bound.  When a builtin
symbol is used, codec->parser still points to NULL.  This is the
difference from the previous versions.

Fixes: f8f1becfa4ac ('ALSA: hda - Fix leftover ifdef checks after modularization')
Reported-by: Fengguang Wu <fengguang.wu@intel.com>
Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c