aboutsummaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-11-07 09:18:21 -0500
committerTakashi Iwai <tiwai@suse.de>2011-11-08 02:59:36 -0500
commit46900b5c55ece43b0e6ad7147ffb58e37ff45c82 (patch)
tree1e25131f1ee7e181833eafd19a7c0731f93755af /sound
parent6fb9c82c47164ac5daa80e9f7979ccfa252ed2b5 (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.c104
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 @@
7enum { 7enum {
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
56static 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
65static 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
97static 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 */
115static 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
124static 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
216static 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 */
223static const struct snd_kcontrol_new alc262_ultra_mixer[] = { 136static 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 */
343static const char * const alc262_models[ALC262_MODEL_LAST] = { 256static 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
350static const struct snd_pci_quirk alc262_cfg_tbl[] = { 262static 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,