diff options
author | Takashi Iwai <tiwai@suse.de> | 2011-11-07 09:18:21 -0500 |
---|---|---|
committer | Takashi Iwai <tiwai@suse.de> | 2011-11-08 02:59:36 -0500 |
commit | 46900b5c55ece43b0e6ad7147ffb58e37ff45c82 (patch) | |
tree | 1e25131f1ee7e181833eafd19a7c0731f93755af /sound | |
parent | 6fb9c82c47164ac5daa80e9f7979ccfa252ed2b5 (diff) |
ALSA: hda/realtek - Drop ALC262 model=hippo static quirks
Both entries for ALC262 model=hippo work well with the auto-parser and
the default BIOS setup. No static configs are needed, so drop them.
Signed-off-by: Takashi Iwai <tiwai@suse.de>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/pci/hda/alc262_quirks.c | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/sound/pci/hda/alc262_quirks.c b/sound/pci/hda/alc262_quirks.c index 38ff995b46a5..fee7202c94ab 100644 --- a/sound/pci/hda/alc262_quirks.c +++ b/sound/pci/hda/alc262_quirks.c | |||
@@ -7,7 +7,6 @@ | |||
7 | enum { | 7 | enum { |
8 | ALC262_AUTO, | 8 | ALC262_AUTO, |
9 | ALC262_BASIC, | 9 | ALC262_BASIC, |
10 | ALC262_HIPPO, | ||
11 | ALC262_ULTRA, | 10 | ALC262_ULTRA, |
12 | ALC262_MODEL_LAST /* last tag */ | 11 | ALC262_MODEL_LAST /* last tag */ |
13 | }; | 12 | }; |
@@ -51,86 +50,6 @@ static const struct snd_kcontrol_new alc262_base_mixer[] = { | |||
51 | { } /* end */ | 50 | { } /* end */ |
52 | }; | 51 | }; |
53 | 52 | ||
54 | /* bind hp and internal speaker mute (with plug check) as master switch */ | ||
55 | |||
56 | static int alc262_hippo_master_sw_get(struct snd_kcontrol *kcontrol, | ||
57 | struct snd_ctl_elem_value *ucontrol) | ||
58 | { | ||
59 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | ||
60 | struct alc_spec *spec = codec->spec; | ||
61 | *ucontrol->value.integer.value = !spec->master_mute; | ||
62 | return 0; | ||
63 | } | ||
64 | |||
65 | static int alc262_hippo_master_sw_put(struct snd_kcontrol *kcontrol, | ||
66 | struct snd_ctl_elem_value *ucontrol) | ||
67 | { | ||
68 | struct hda_codec *codec = snd_kcontrol_chip(kcontrol); | ||
69 | struct alc_spec *spec = codec->spec; | ||
70 | int val = !*ucontrol->value.integer.value; | ||
71 | |||
72 | if (val == spec->master_mute) | ||
73 | return 0; | ||
74 | spec->master_mute = val; | ||
75 | update_outputs(codec); | ||
76 | return 1; | ||
77 | } | ||
78 | |||
79 | #define ALC262_HIPPO_MASTER_SWITCH \ | ||
80 | { \ | ||
81 | .iface = SNDRV_CTL_ELEM_IFACE_MIXER, \ | ||
82 | .name = "Master Playback Switch", \ | ||
83 | .info = snd_ctl_boolean_mono_info, \ | ||
84 | .get = alc262_hippo_master_sw_get, \ | ||
85 | .put = alc262_hippo_master_sw_put, \ | ||
86 | }, \ | ||
87 | { \ | ||
88 | .iface = NID_MAPPING, \ | ||
89 | .name = "Master Playback Switch", \ | ||
90 | .subdevice = SUBDEV_HP(0) | (SUBDEV_LINE(0) << 8) | \ | ||
91 | (SUBDEV_SPEAKER(0) << 16), \ | ||
92 | } | ||
93 | |||
94 | #define alc262_hp_master_sw_get alc262_hippo_master_sw_get | ||
95 | #define alc262_hp_master_sw_put alc262_hippo_master_sw_put | ||
96 | |||
97 | static const struct snd_kcontrol_new alc262_hippo_mixer[] = { | ||
98 | ALC262_HIPPO_MASTER_SWITCH, | ||
99 | HDA_CODEC_VOLUME("Speaker Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | ||
100 | HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), | ||
101 | HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), | ||
102 | HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), | ||
103 | HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), | ||
104 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), | ||
105 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), | ||
106 | HDA_CODEC_VOLUME("Mic Boost Volume", 0x18, 0, HDA_INPUT), | ||
107 | HDA_CODEC_VOLUME("Front Mic Playback Volume", 0x0b, 0x01, HDA_INPUT), | ||
108 | HDA_CODEC_MUTE("Front Mic Playback Switch", 0x0b, 0x01, HDA_INPUT), | ||
109 | HDA_CODEC_VOLUME("Front Mic Boost Volume", 0x19, 0, HDA_INPUT), | ||
110 | HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0d, 0x0, HDA_OUTPUT), | ||
111 | { } /* end */ | ||
112 | }; | ||
113 | |||
114 | /* mute/unmute internal speaker according to the hp jack and mute state */ | ||
115 | static void alc262_hippo_setup(struct hda_codec *codec) | ||
116 | { | ||
117 | struct alc_spec *spec = codec->spec; | ||
118 | |||
119 | spec->autocfg.hp_pins[0] = 0x15; | ||
120 | spec->autocfg.speaker_pins[0] = 0x14; | ||
121 | alc_simple_setup_automute(spec, ALC_AUTOMUTE_AMP); | ||
122 | } | ||
123 | |||
124 | static const struct snd_kcontrol_new alc262_sony_mixer[] = { | ||
125 | HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | ||
126 | ALC262_HIPPO_MASTER_SWITCH, | ||
127 | HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), | ||
128 | HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), | ||
129 | HDA_CODEC_VOLUME("ATAPI Mic Playback Volume", 0x0b, 0x01, HDA_INPUT), | ||
130 | HDA_CODEC_MUTE("ATAPI Mic Playback Switch", 0x0b, 0x01, HDA_INPUT), | ||
131 | { } /* end */ | ||
132 | }; | ||
133 | |||
134 | #define alc262_capture_mixer alc882_capture_mixer | 53 | #define alc262_capture_mixer alc882_capture_mixer |
135 | #define alc262_capture_alt_mixer alc882_capture_alt_mixer | 54 | #define alc262_capture_alt_mixer alc882_capture_alt_mixer |
136 | 55 | ||
@@ -213,12 +132,6 @@ static const struct hda_verb alc262_init_verbs[] = { | |||
213 | { } | 132 | { } |
214 | }; | 133 | }; |
215 | 134 | ||
216 | static const struct hda_verb alc262_eapd_verbs[] = { | ||
217 | {0x14, AC_VERB_SET_EAPD_BTLENABLE, 2}, | ||
218 | {0x15, AC_VERB_SET_EAPD_BTLENABLE, 2}, | ||
219 | { } | ||
220 | }; | ||
221 | |||
222 | /* Samsung Q1 Ultra Vista model setup */ | 135 | /* Samsung Q1 Ultra Vista model setup */ |
223 | static const struct snd_kcontrol_new alc262_ultra_mixer[] = { | 136 | static const struct snd_kcontrol_new alc262_ultra_mixer[] = { |
224 | HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT), | 137 | HDA_CODEC_VOLUME("Master Playback Volume", 0x0c, 0x0, HDA_OUTPUT), |
@@ -342,16 +255,13 @@ static const struct snd_kcontrol_new alc262_ultra_capture_mixer[] = { | |||
342 | */ | 255 | */ |
343 | static const char * const alc262_models[ALC262_MODEL_LAST] = { | 256 | static const char * const alc262_models[ALC262_MODEL_LAST] = { |
344 | [ALC262_BASIC] = "basic", | 257 | [ALC262_BASIC] = "basic", |
345 | [ALC262_HIPPO] = "hippo", | ||
346 | [ALC262_ULTRA] = "ultra", | 258 | [ALC262_ULTRA] = "ultra", |
347 | [ALC262_AUTO] = "auto", | 259 | [ALC262_AUTO] = "auto", |
348 | }; | 260 | }; |
349 | 261 | ||
350 | static const struct snd_pci_quirk alc262_cfg_tbl[] = { | 262 | static const struct snd_pci_quirk alc262_cfg_tbl[] = { |
351 | SND_PCI_QUIRK(0x1002, 0x437b, "Hippo", ALC262_HIPPO), | ||
352 | SND_PCI_QUIRK_MASK(0x144d, 0xff00, 0xc032, "Samsung Q1", | 263 | SND_PCI_QUIRK_MASK(0x144d, 0xff00, 0xc032, "Samsung Q1", |
353 | ALC262_ULTRA), | 264 | ALC262_ULTRA), |
354 | SND_PCI_QUIRK(0x144d, 0xc510, "Samsung Q45", ALC262_HIPPO), | ||
355 | {} | 265 | {} |
356 | }; | 266 | }; |
357 | 267 | ||
@@ -366,20 +276,6 @@ static const struct alc_config_preset alc262_presets[] = { | |||
366 | .channel_mode = alc262_modes, | 276 | .channel_mode = alc262_modes, |
367 | .input_mux = &alc262_capture_source, | 277 | .input_mux = &alc262_capture_source, |
368 | }, | 278 | }, |
369 | [ALC262_HIPPO] = { | ||
370 | .mixers = { alc262_hippo_mixer }, | ||
371 | .init_verbs = { alc262_init_verbs, alc_hp15_unsol_verbs}, | ||
372 | .num_dacs = ARRAY_SIZE(alc262_dac_nids), | ||
373 | .dac_nids = alc262_dac_nids, | ||
374 | .hp_nid = 0x03, | ||
375 | .dig_out_nid = ALC262_DIGOUT_NID, | ||
376 | .num_channel_mode = ARRAY_SIZE(alc262_modes), | ||
377 | .channel_mode = alc262_modes, | ||
378 | .input_mux = &alc262_capture_source, | ||
379 | .unsol_event = alc_sku_unsol_event, | ||
380 | .setup = alc262_hippo_setup, | ||
381 | .init_hook = alc_inithook, | ||
382 | }, | ||
383 | [ALC262_ULTRA] = { | 279 | [ALC262_ULTRA] = { |
384 | .mixers = { alc262_ultra_mixer }, | 280 | .mixers = { alc262_ultra_mixer }, |
385 | .cap_mixer = alc262_ultra_capture_mixer, | 281 | .cap_mixer = alc262_ultra_capture_mixer, |