aboutsummaryrefslogtreecommitdiffstats
path: root/sound/pci/hda/patch_ca0132.c
diff options
context:
space:
mode:
authorConnor McAdams <conmanx360@gmail.com>2018-09-29 23:03:24 -0400
committerTakashi Iwai <tiwai@suse.de>2018-10-02 17:21:44 +0200
commit76dea4dbf06bd49557a1dcc4c54f3ada88d8c8a0 (patch)
treecd4de6f41b73b2b93a8e9dcc630903133cb25567 /sound/pci/hda/patch_ca0132.c
parentALSA: hda/ca0132 - Add ZxR input/output select commands (diff)
downloadlinux-dev-76dea4dbf06bd49557a1dcc4c54f3ada88d8c8a0.tar.xz
linux-dev-76dea4dbf06bd49557a1dcc4c54f3ada88d8c8a0.zip
ALSA: hda/ca0132 - Remove input select enum for ZxR
This patch removes the input select control for the ZxR, as it only has one input option, rear microphone. Signed-off-by: Connor McAdams <conmanx360@gmail.com> Reviewed-by: Takashi Sakamoto <o-takashi@sakamocchi.jp> Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound/pci/hda/patch_ca0132.c')
-rw-r--r--sound/pci/hda/patch_ca0132.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/sound/pci/hda/patch_ca0132.c b/sound/pci/hda/patch_ca0132.c
index bc8745f48fff..f0781e4b0da9 100644
--- a/sound/pci/hda/patch_ca0132.c
+++ b/sound/pci/hda/patch_ca0132.c
@@ -6402,8 +6402,13 @@ static int ca0132_build_controls(struct hda_codec *codec)
*/
if (spec->use_alt_functions) {
ca0132_alt_add_output_enum(codec);
- ca0132_alt_add_input_enum(codec);
ca0132_alt_add_mic_boost_enum(codec);
+ /*
+ * ZxR only has microphone input, there is no front panel
+ * header on the card, and aux-in is handled by the DBPro board.
+ */
+ if (spec->quirk != QUIRK_ZXR)
+ ca0132_alt_add_input_enum(codec);
}
if (spec->quirk == QUIRK_AE5) {
@@ -7665,6 +7670,14 @@ static void ca0132_init_chip(struct hda_codec *codec)
spec->effects_switch[PLAY_ENHANCEMENT - EFFECT_START_NID] = 1;
spec->effects_switch[CRYSTAL_VOICE - EFFECT_START_NID] = 0;
+ /*
+ * The ZxR doesn't have a front panel header, and it's line-in is on
+ * the daughter board. So, there is no input enum control, and we need
+ * to make sure that spec->in_enum_val is set properly.
+ */
+ if (spec->quirk == QUIRK_ZXR)
+ spec->in_enum_val = REAR_MIC;
+
#ifdef ENABLE_TUNING_CONTROLS
ca0132_init_tuning_defaults(codec);
#endif