--- /dev/null
+From 69e50282b726bab75c8050c4836dc89b7eb7bf1a Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 3 Nov 2008 10:07:43 +0100
+Subject: ALSA: hda - Add a quirk for another Acer Aspire (1025:0090)
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 69e50282b726bab75c8050c4836dc89b7eb7bf1a upstream
+
+Added a quirk for another Acer Aspier laptop (1025:0090) with ALC883
+codec. Reported in Novell bnc#426935:
+ https://bugzilla.novell.com/show_bug.cgi?id=426935
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -8013,6 +8013,7 @@ static const char *alc883_models[ALC883_
+ static struct snd_pci_quirk alc883_cfg_tbl[] = {
+ SND_PCI_QUIRK(0x1019, 0x6668, "ECS", ALC883_3ST_6ch_DIG),
+ SND_PCI_QUIRK(0x1025, 0x006c, "Acer Aspire 9810", ALC883_ACER_ASPIRE),
++ SND_PCI_QUIRK(0x1025, 0x0090, "Acer Aspire", ALC883_ACER_ASPIRE),
+ SND_PCI_QUIRK(0x1025, 0x0110, "Acer Aspire", ALC883_ACER_ASPIRE),
+ SND_PCI_QUIRK(0x1025, 0x0112, "Acer Aspire 9303", ALC883_ACER_ASPIRE),
+ SND_PCI_QUIRK(0x1025, 0x0121, "Acer Aspire 5920G", ALC883_ACER_ASPIRE),
--- /dev/null
+From b0fc5e043401df4cd243352f1030c4d23e767347 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 21 Nov 2008 08:37:03 +0100
+Subject: ALSA: hda - Add a quirk for Dell Studio 15
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit b0fc5e043401df4cd243352f1030c4d23e767347 upstream
+
+Added the matching model=dell-m6 for Dell Studio 15 laptop.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c | 2 ++
+ 1 file changed, 2 insertions(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -1324,6 +1324,8 @@ static struct snd_pci_quirk stac92hd73xx
+ "unknown Dell", STAC_DELL_M6),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0271,
+ "unknown Dell", STAC_DELL_M6),
++ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x029f,
++ "Dell Studio 15", STAC_DELL_M6),
+ {} /* terminator */
+ };
+
--- /dev/null
+From 959973b92d3ba235edfa5dcb5df1be1e5d1deba2 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Wed, 5 Nov 2008 11:30:56 +0100
+Subject: ALSA: hda - Add a quirk for MEDION MD96630
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 959973b92d3ba235edfa5dcb5df1be1e5d1deba2 upstream
+
+Use model=lenovo-ms7195-dig for MEDION MD96630 laptop (17c0:4085)
+with ALC888 codec.
+Reference: Novell bnc#412548
+ https://bugzilla.novell.com/show_bug.cgi?id=412528
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -8064,6 +8064,7 @@ static struct snd_pci_quirk alc883_cfg_t
+ SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+ SND_PCI_QUIRK(0x17aa, 0x3bfd, "Lenovo NB0763", ALC883_LENOVO_NB0763),
+ SND_PCI_QUIRK(0x17c0, 0x4071, "MEDION MD2", ALC883_MEDION_MD2),
++ SND_PCI_QUIRK(0x17c0, 0x4085, "MEDION MD96630", ALC888_LENOVO_MS7195_DIG),
+ SND_PCI_QUIRK(0x17f2, 0x5000, "Albatron KI690-AM2", ALC883_6ST_DIG),
+ SND_PCI_QUIRK(0x1991, 0x5625, "Haier W66", ALC883_HAIER_W66),
+ SND_PCI_QUIRK(0x8086, 0x0001, "DG33BUC", ALC883_3ST_6ch_INTEL),
--- /dev/null
+From a385a52925398e53bedf1a8b30a9a3e002569f27 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Wed, 15 Oct 2008 11:20:21 +0200
+Subject: ALSA: hda - Add ALC887 support
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit a385a52925398e53bedf1a8b30a9a3e002569f27 upstream
+
+Added ALC887 support. It's almost compatible with ALC883/888.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -14965,6 +14965,7 @@ struct hda_codec_preset snd_hda_preset_r
+ { .id = 0x10ec0885, .rev = 0x100103, .name = "ALC889A",
+ .patch = patch_alc882 }, /* should be patch_alc883() in future */
+ { .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
++ { .id = 0x10ec0887, .name = "ALC887", .patch = patch_alc883 },
+ { .id = 0x10ec0888, .name = "ALC888", .patch = patch_alc883 },
+ { .id = 0x10ec0889, .name = "ALC889", .patch = patch_alc883 },
+ {} /* terminator */
--- /dev/null
+From 65b92e5cbc8acd14ea83190b4d016f765dce6075 Mon Sep 17 00:00:00 2001
+From: Michel Marti <mma@objectxp.com>
+Date: Sat, 8 Nov 2008 11:33:32 +0100
+Subject: ALSA: hda - Add another HP model (6730s) for AD1884A
+
+From: Michel Marti <mma@objectxp.com>
+
+commit 65b92e5cbc8acd14ea83190b4d016f765dce6075 upstream
+
+Added model=laptop for another HP machine (103c:3614) with AD1884A
+codec.
+
+Signed-off-by: Michel Marti <mma@objectxp.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3848,6 +3848,7 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+ SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
+ SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
++ SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
+ SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+ {}
+ };
--- /dev/null
+From 5695ff44160e62d9193c0201706853bcfe2a077f Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Tue, 28 Oct 2008 15:39:26 +0100
+Subject: ALSA: hda - Add another HP model for AD1884A
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 5695ff44160e62d9193c0201706853bcfe2a077f upstream
+
+Added a quirk entry for another HP mobile device with AD1884A codec.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3847,6 +3847,7 @@ static const char *ad1884a_models[AD1884
+
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+ SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
++ SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
+ SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+ {}
+ };
--- /dev/null
+From 2346d0cde544179a8d235375f1bfbca5c141a31b Mon Sep 17 00:00:00 2001
+From: Travis Place <wishie@wishie.net>
+Date: Mon, 1 Sep 2008 08:24:00 +0200
+Subject: ALSA: hda - Add model for Toshiba L305 laptop
+
+From: Travis Place <wishie@wishie.net>
+
+commit 2346d0cde544179a8d235375f1bfbca5c141a31b upstream
+
+Added Subsystem IDs (0x1179, 0xff64) for the Toshiba Satellite L305
+laptop, so it automatically uses the ALC268_TOSHIBA quirk.
+
+Signed-off-by: Travis Place <wishie@wishie.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -10806,6 +10806,7 @@ static struct snd_pci_quirk alc268_cfg_t
+ SND_PCI_QUIRK(0x1043, 0x1205, "ASUS W7J", ALC268_3ST),
+ SND_PCI_QUIRK(0x1179, 0xff10, "TOSHIBA A205", ALC268_TOSHIBA),
+ SND_PCI_QUIRK(0x1179, 0xff50, "TOSHIBA A305", ALC268_TOSHIBA),
++ SND_PCI_QUIRK(0x1179, 0xff64, "TOSHIBA L305", ALC268_TOSHIBA),
+ SND_PCI_QUIRK(0x14c0, 0x0025, "COMPAL IFL90/JFL-92", ALC268_TOSHIBA),
+ SND_PCI_QUIRK(0x152d, 0x0763, "Diverse (CPR2000)", ALC268_ACER),
+ SND_PCI_QUIRK(0x152d, 0x0771, "Quanta IL1", ALC267_QUANTA_IL1),
--- /dev/null
+From 8c650087992f1d7a3a7be2e632f4e85a52d20619 Mon Sep 17 00:00:00 2001
+From: Mauro Carvalho Chehab <mchehab@infradead.org>
+Date: Mon, 4 Aug 2008 10:39:59 -0300
+Subject: ALSA: hda: Add support for ECS/PC Chips boards with Sigmatel codecs
+
+From: Mauro Carvalho Chehab <mchehab@infradead.org>
+
+commit 8c650087992f1d7a3a7be2e632f4e85a52d20619 upstream
+
+Thanks to Sistema Fenix (http://www.sistemafenix.com.br/) and CDI Brasil
+(www.cdibrasil.com.br/) for sponsoring this development.
+
+Signed-off-by: Gilberto <gilberto@sistemafenix.com.br>
+Signed-off-by: Mauro Carvalho Chehab <mchehab@infradead.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c | 35 +++++++++++++++++++++++++++++++++++
+ 1 file changed, 35 insertions(+)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -105,6 +105,7 @@ enum {
+ STAC_MACBOOK_PRO_V2,
+ STAC_IMAC_INTEL,
+ STAC_IMAC_INTEL_20,
++ STAC_ECS_202,
+ STAC_922X_DELL_D81,
+ STAC_922X_DELL_D82,
+ STAC_922X_DELL_M81,
+@@ -1478,6 +1479,11 @@ static unsigned int intel_mac_v5_pin_con
+ 0x400000fc, 0x400000fb,
+ };
+
++static unsigned int ecs202_pin_configs[10] = {
++ 0x0221401f, 0x02a19020, 0x01a19020, 0x01114010,
++ 0x408000f0, 0x01813022, 0x074510a0, 0x40c400f1,
++ 0x9037012e, 0x40e000f2,
++};
+
+ static unsigned int *stac922x_brd_tbl[STAC_922X_MODELS] = {
+ [STAC_D945_REF] = ref922x_pin_configs,
+@@ -1496,6 +1502,7 @@ static unsigned int *stac922x_brd_tbl[ST
+ [STAC_MACBOOK_PRO_V2] = intel_mac_v3_pin_configs,
+ [STAC_IMAC_INTEL] = intel_mac_v2_pin_configs,
+ [STAC_IMAC_INTEL_20] = intel_mac_v3_pin_configs,
++ [STAC_ECS_202] = ecs202_pin_configs,
+ [STAC_922X_DELL_D81] = dell_922x_d81_pin_configs,
+ [STAC_922X_DELL_D82] = dell_922x_d82_pin_configs,
+ [STAC_922X_DELL_M81] = dell_922x_m81_pin_configs,
+@@ -1519,6 +1526,7 @@ static const char *stac922x_models[STAC_
+ [STAC_MACBOOK_PRO_V2] = "macbook-pro",
+ [STAC_IMAC_INTEL] = "imac-intel",
+ [STAC_IMAC_INTEL_20] = "imac-intel-20",
++ [STAC_ECS_202] = "ecs202",
+ [STAC_922X_DELL_D81] = "dell-d81",
+ [STAC_922X_DELL_D82] = "dell-d82",
+ [STAC_922X_DELL_M81] = "dell-m81",
+@@ -1605,6 +1613,33 @@ static struct snd_pci_quirk stac922x_cfg
+ "unknown Dell", STAC_922X_DELL_D81),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x01d7,
+ "Dell XPS M1210", STAC_922X_DELL_M82),
++ /* ECS/PC Chips boards */
++ SND_PCI_QUIRK(0x1019, 0x2144,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2608,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2633,
++ "ECS/PC chips P17G/1333", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2811,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2812,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2813,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2814,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2815,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2816,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2817,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2818,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2819,
++ "ECS/PC chips", STAC_ECS_202),
++ SND_PCI_QUIRK(0x1019, 0x2820,
++ "ECS/PC chips", STAC_ECS_202),
+ {} /* terminator */
+ };
+
--- /dev/null
+From 01afd41f55524e8378601dbf33b858d8dd4b3f31 Mon Sep 17 00:00:00 2001
+From: Kailang Yang <kailang@realtek.com>
+Date: Wed, 15 Oct 2008 11:22:09 +0200
+Subject: ALSA: hda - Add support of ALC272
+
+From: Kailang Yang <kailang@realtek.com>
+
+commit 01afd41f55524e8378601dbf33b858d8dd4b3f31 upstream
+
+Added the support of ALC272 codec. It's almost compatible with ALC663.
+
+Signed-off-by: Kailang Yang <kailang@realtek.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -14910,6 +14910,9 @@ static int patch_alc662(struct hda_codec
+ if (codec->vendor_id == 0x10ec0663) {
+ spec->stream_name_analog = "ALC663 Analog";
+ spec->stream_name_digital = "ALC663 Digital";
++ } else if (codec->vendor_id == 0x10ec0272) {
++ spec->stream_name_analog = "ALC272 Analog";
++ spec->stream_name_digital = "ALC272 Digital";
+ } else {
+ spec->stream_name_analog = "ALC662 Analog";
+ spec->stream_name_digital = "ALC662 Digital";
+@@ -14947,6 +14950,7 @@ struct hda_codec_preset snd_hda_preset_r
+ { .id = 0x10ec0267, .name = "ALC267", .patch = patch_alc268 },
+ { .id = 0x10ec0268, .name = "ALC268", .patch = patch_alc268 },
+ { .id = 0x10ec0269, .name = "ALC269", .patch = patch_alc269 },
++ { .id = 0x10ec0272, .name = "ALC272", .patch = patch_alc662 },
+ { .id = 0x10ec0861, .rev = 0x100340, .name = "ALC660",
+ .patch = patch_alc861 },
+ { .id = 0x10ec0660, .name = "ALC660-VD", .patch = patch_alc861vd },
--- /dev/null
+From f3911c5ab93e4295938b2013104d2986ea601454 Mon Sep 17 00:00:00 2001
+From: Peter Korsgaard <jacmet@sunsite.dk>
+Date: Sat, 27 Sep 2008 09:13:45 +0200
+Subject: ALSA: hda: appletv support
+
+From: Peter Korsgaard <jacmet@sunsite.dk>
+
+commit f3911c5ab93e4295938b2013104d2986ea601454 upstream
+
+The AppleTV needs the same handling as the 24" iMac.
+
+Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6555,6 +6555,7 @@ static int patch_alc882(struct hda_codec
+ board_config = ALC885_MACPRO;
+ break;
+ case 0x106b1000: /* iMac 24 */
++ case 0x106b2800: /* AppleTV */
+ board_config = ALC885_IMAC24;
+ break;
+ case 0x106b00a1: /* Macbook (might be wrong - PCI SSID?) */
--- /dev/null
+From e01bf5091f044011823aefa1882eb3fba0434918 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Thu, 21 Aug 2008 16:25:07 +0200
+Subject: ALSA: hda - Fix ALC269 capture source
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit e01bf5091f044011823aefa1882eb3fba0434918 upstream
+
+ALC269 capture source wasn't properly set up.
+It's an independent MUX (0x23), not a source of ADC.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 13 +++++++++++++
+ 1 file changed, 13 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -11038,6 +11038,14 @@ static hda_nid_t alc269_adc_nids[1] = {
+ 0x08,
+ };
+
++static hda_nid_t alc269_capsrc_nids[1] = {
++ 0x23,
++};
++
++/* NOTE: ADC2 (0x07) is connected from a recording *MIXER* (0x24),
++ * not a mux!
++ */
++
+ static struct hda_input_mux alc269_eeepc_dmic_capture_source = {
+ .num_items = 2,
+ .items = {
+@@ -11404,6 +11412,10 @@ static int alc269_parse_auto_config(stru
+ spec->init_verbs[spec->num_init_verbs++] = alc269_init_verbs;
+ spec->num_mux_defs = 1;
+ spec->input_mux = &spec->private_imux;
++ /* set default input source */
++ snd_hda_codec_write_cache(codec, alc269_capsrc_nids[0],
++ 0, AC_VERB_SET_CONNECT_SEL,
++ spec->input_mux->items[0].index);
+
+ err = alc_auto_add_mic_boost(codec);
+ if (err < 0)
+@@ -11536,6 +11548,7 @@ static int patch_alc269(struct hda_codec
+
+ spec->adc_nids = alc269_adc_nids;
+ spec->num_adc_nids = ARRAY_SIZE(alc269_adc_nids);
++ spec->capsrc_nids = alc269_capsrc_nids;
+
+ codec->patch_ops = alc_patch_ops;
+ if (board_config == ALC269_AUTO)
--- /dev/null
+From 669faba27f2f7b04b9228d20e30e7f584f0becd5 Mon Sep 17 00:00:00 2001
+From: Clive Messer <clive@vacuumtube.org.uk>
+Date: Tue, 30 Sep 2008 15:49:13 +0200
+Subject: ALSA: hda - Fix another ALC889A (rev 0x100101)
+
+From: Clive Messer <clive@vacuumtube.org.uk>
+
+commit 669faba27f2f7b04b9228d20e30e7f584f0becd5 upstream
+
+ALC889A hardware (id 0x10ec0885 rev 0x100101) to use patch_alc883
+
+Signed-off-by: Clive Messer <clive@vacuumtube.org.uk>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -6565,7 +6565,8 @@ static int patch_alc882(struct hda_codec
+ break;
+ default:
+ /* ALC889A is handled better as ALC888-compatible */
+- if (codec->revision_id == 0x100103) {
++ if (codec->revision_id == 0x100101 ||
++ codec->revision_id == 0x100103) {
+ alc_free(codec);
+ return patch_alc883(codec);
+ }
+@@ -14959,6 +14960,8 @@ struct hda_codec_preset snd_hda_preset_r
+ { .id = 0x10ec0880, .name = "ALC880", .patch = patch_alc880 },
+ { .id = 0x10ec0882, .name = "ALC882", .patch = patch_alc882 },
+ { .id = 0x10ec0883, .name = "ALC883", .patch = patch_alc883 },
++ { .id = 0x10ec0885, .rev = 0x100101, .name = "ALC889A",
++ .patch = patch_alc882 }, /* should be patch_alc883() in future */
+ { .id = 0x10ec0885, .rev = 0x100103, .name = "ALC889A",
+ .patch = patch_alc882 }, /* should be patch_alc883() in future */
+ { .id = 0x10ec0885, .name = "ALC885", .patch = patch_alc882 },
--- /dev/null
+From e8f9ae2a4a0654e7798b8c0ae956e3f0fdc23c8d Mon Sep 17 00:00:00 2001
+From: Pascal Terjan <pterjan@mandriva.com>
+Date: Mon, 4 Aug 2008 14:36:05 +0200
+Subject: ALSA: hda - Fix sound on NEC Versa S9100
+
+From: Pascal Terjan <pterjan@mandriva.com>
+
+commit e8f9ae2a4a0654e7798b8c0ae956e3f0fdc23c8d upstream
+
+This patch adds sound support for NEC Versa S9100
+With it, we get sound on the internal speaker and headphone (with
+automute working) while there is no sound by default.
+External mic also works fine but I don't know if there is an internal
+one (if there is an internal mic it does not work currently), and I
+had to send back the hardware.
+
+Signed-off-by: Pascal Terjan <pterjan@mandriva.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 48 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 48 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -100,6 +100,7 @@ enum {
+ ALC262_BENQ_T31,
+ ALC262_ULTRA,
+ ALC262_LENOVO_3000,
++ ALC262_NEC,
+ ALC262_AUTO,
+ ALC262_MODEL_LAST /* last tag */
+ };
+@@ -8948,6 +8949,41 @@ static void alc262_hippo1_unsol_event(st
+ }
+
+ /*
++ * nec model
++ * 0x15 = headphone
++ * 0x16 = internal speaker
++ * 0x18 = external mic
++ */
++
++static struct snd_kcontrol_new alc262_nec_mixer[] = {
++ HDA_CODEC_VOLUME_MONO("Speaker Playback Volume", 0x0e, 1, 0x0, HDA_OUTPUT),
++ HDA_CODEC_MUTE_MONO("Speaker Playback Switch", 0x16, 0, 0x0, HDA_OUTPUT),
++
++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT),
++ HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT),
++ HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT),
++
++ HDA_CODEC_VOLUME("Headphone Playback Volume", 0x0d, 0x0, HDA_OUTPUT),
++ HDA_CODEC_MUTE("Headphone Playback Switch", 0x15, 0x0, HDA_OUTPUT),
++ { } /* end */
++};
++
++static struct hda_verb alc262_nec_verbs[] = {
++ /* Unmute Speaker */
++ {0x16, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE},
++
++ /* Headphone */
++ {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, AC_USRSP_EN | ALC880_HP_EVENT},
++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT},
++
++ /* External mic to headphone */
++ {0x0d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
++ /* External mic to speaker */
++ {0x0e, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_UNMUTE(1)},
++ {}
++};
++
++/*
+ * fujitsu model
+ * 0x14 = headphone/spdif-out, 0x15 = internal speaker,
+ * 0x1b = port replicator headphone out
+@@ -9731,11 +9767,13 @@ static const char *alc262_models[ALC262_
+ [ALC262_SONY_ASSAMD] = "sony-assamd",
+ [ALC262_ULTRA] = "ultra",
+ [ALC262_LENOVO_3000] = "lenovo-3000",
++ [ALC262_NEC] = "nec",
+ [ALC262_AUTO] = "auto",
+ };
+
+ static struct snd_pci_quirk alc262_cfg_tbl[] = {
+ SND_PCI_QUIRK(0x1002, 0x437b, "Hippo", ALC262_HIPPO),
++ SND_PCI_QUIRK(0x1033, 0x8895, "NEC Versa S9100", ALC262_NEC),
+ SND_PCI_QUIRK(0x103c, 0x12fe, "HP xw9400", ALC262_HP_BPC),
+ SND_PCI_QUIRK(0x103c, 0x12ff, "HP xw4550", ALC262_HP_BPC),
+ SND_PCI_QUIRK(0x103c, 0x1306, "HP xw8600", ALC262_HP_BPC),
+@@ -9946,6 +9984,16 @@ static struct alc_config_preset alc262_p
+ .input_mux = &alc262_fujitsu_capture_source,
+ .unsol_event = alc262_lenovo_3000_unsol_event,
+ },
++ [ALC262_NEC] = {
++ .mixers = { alc262_nec_mixer },
++ .init_verbs = { alc262_nec_verbs },
++ .num_dacs = ARRAY_SIZE(alc262_dac_nids),
++ .dac_nids = alc262_dac_nids,
++ .hp_nid = 0x03,
++ .num_channel_mode = ARRAY_SIZE(alc262_modes),
++ .channel_mode = alc262_modes,
++ .input_mux = &alc262_capture_source,
++ },
+ };
+
+ static int patch_alc262(struct hda_codec *codec)
--- /dev/null
+From f7cf0a7ce56eb91752fa441cff2669f8d61d4e5e Mon Sep 17 00:00:00 2001
+From: Matthew Ranostay <mranostay@embeddedalley.com>
+Date: Sat, 13 Sep 2008 10:36:58 -0400
+Subject: ALSA: hda: fixed hp_nid DAC for DELL_M6
+
+From: Matthew Ranostay <mranostay@embeddedalley.com>
+
+commit f7cf0a7ce56eb91752fa441cff2669f8d61d4e5e upstream
+
+This patch sets the HP out not used by the "Headphone to Line Out" switch to the
+hp_nid.
+
+Signed-off-by: Matthew Ranostay <mranostay@embeddedalley.com>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -548,8 +548,8 @@ static struct hda_verb dell_eq_core_init
+ { 0x1f, AC_VERB_SET_VOLUME_KNOB_CONTROL, 0xec},
+ /* setup audio connections */
+ { 0x0d, AC_VERB_SET_CONNECT_SEL, 0x00},
+- { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x01},
+- { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x02},
++ { 0x0a, AC_VERB_SET_CONNECT_SEL, 0x02},
++ { 0x0f, AC_VERB_SET_CONNECT_SEL, 0x01},
+ /* setup adcs to point to mixer */
+ { 0x20, AC_VERB_SET_CONNECT_SEL, 0x0b},
+ { 0x21, AC_VERB_SET_CONNECT_SEL, 0x0b},
--- /dev/null
+From 0481f4534910e644626a3607b2a1a979420a2d05 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sat, 13 Sep 2008 16:54:57 -0700
+Subject: ALSA: HDA: hda_proc: Fix printf format specifier
+
+From: Robin H. Johnson <robbat2@gentoo.org>
+
+commit 0481f4534910e644626a3607b2a1a979420a2d05 upstream.
+
+The Pincap output had a typod format specifier, leading to an extraneous "08"
+in the output, which is a reserved bit of the Vref field, and was really
+confused :-).
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+
+---
+ sound/pci/hda/hda_proc.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/hda_proc.c
++++ b/sound/pci/hda/hda_proc.c
+@@ -216,7 +216,7 @@ static void print_pin_caps(struct snd_in
+ unsigned int caps, val;
+
+ caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
+- snd_iprintf(buffer, " Pincap 0x08%x:", caps);
++ snd_iprintf(buffer, " Pincap 0x%08x:", caps);
+ if (caps & AC_PINCAP_IN)
+ snd_iprintf(buffer, " IN");
+ if (caps & AC_PINCAP_OUT)
--- /dev/null
+From 254248313aed7e6ff295ca21a82ca989b1f69c16 Mon Sep 17 00:00:00 2001
+From: Travis Place <wishie@wishie.net>
+Date: Mon, 10 Nov 2008 17:56:23 +0100
+Subject: ALSA: hda - Make the HP EliteBook 8530p use AD1884A model laptop
+
+From: Travis Place <wishie@wishie.net>
+
+commit 254248313aed7e6ff295ca21a82ca989b1f69c16 upstream
+
+Added a QUIRK to patch_analog.c for the HP Elitebook 8530p
+(IDs 0x103c:0x30e7) to use AD1884A model 'laptop' by default.
+Playback and Capture confirmed working.
+
+Signed-off-by: Travis Place <wishie@wishie.net>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -3848,6 +3848,7 @@ static const char *ad1884a_models[AD1884
+ static struct snd_pci_quirk ad1884a_cfg_tbl[] = {
+ SND_PCI_QUIRK(0x103c, 0x3030, "HP", AD1884A_MOBILE),
+ SND_PCI_QUIRK(0x103c, 0x3056, "HP", AD1884A_MOBILE),
++ SND_PCI_QUIRK(0x103c, 0x30e7, "HP EliteBook 8530p", AD1884A_LAPTOP),
+ SND_PCI_QUIRK(0x103c, 0x3614, "HP 6730s", AD1884A_LAPTOP),
+ SND_PCI_QUIRK(0x17aa, 0x20ac, "Thinkpad X300", AD1884A_THINKPAD),
+ {}
--- /dev/null
+From c65574abad288d7123bd49e7906fa53b7e420239 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Fri, 21 Nov 2008 18:01:44 +0100
+Subject: ALSA: hda - mark Dell studio 1535 quirk
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit c65574abad288d7123bd49e7906fa53b7e420239 upstream
+
+Fixed the quirk string for Dell studio 1535 (the product name wasn't
+published at the time the patch was made).
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -1311,7 +1311,7 @@ static struct snd_pci_quirk stac92hd73xx
+ SND_PCI_QUIRK(PCI_VENDOR_ID_INTEL, 0x2668,
+ "DFI LanParty", STAC_92HD73XX_REF),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0254,
+- "unknown Dell", STAC_DELL_M6),
++ "Dell Studio 1535", STAC_DELL_M6),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0255,
+ "unknown Dell", STAC_DELL_M6),
+ SND_PCI_QUIRK(PCI_VENDOR_ID_DELL, 0x0256,
--- /dev/null
+From 95026623da32848bc93fbfb472dc8737487df450 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 24 Nov 2008 07:51:11 +0100
+Subject: ALSA: hda - No 'Headphone as Line-out' swich without line-outs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit 95026623da32848bc93fbfb472dc8737487df450 upstream
+
+STAC/IDT driver creates "Headphone as Line-Out" switch even if there
+is no line-out pins on the machine. For devices only with headpohnes
+and speaker-outs, this switch shouldn't be created.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_sigmatel.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_sigmatel.c
++++ b/sound/pci/hda/patch_sigmatel.c
+@@ -2505,7 +2505,7 @@ static int stac92xx_auto_create_multi_ou
+ }
+ }
+
+- if (cfg->hp_outs > 1) {
++ if (cfg->hp_outs > 1 && cfg->line_out_type == AUTO_PIN_LINE_OUT) {
+ err = stac92xx_add_control(spec,
+ STAC_CTL_WIDGET_HP_SWITCH,
+ "Headphone as Line Out Switch", 0);
--- /dev/null
+From e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@gentoo.org>
+Date: Sat, 13 Sep 2008 16:55:00 -0700
+Subject: ALSA: HDA: patch_analog: Fix SPDIF output on AD1989B
+
+From: Robin H. Johnson <robbat2@gentoo.org>
+
+commit e8bfc6c1d22395ab706784cb1bcd60f6f9569ed6 upstream
+
+The SPDIF pins for AD1989 are not enabled by default. Set OUT bit so that they
+actually work. Also initialize the HDMI SPDIF at the same time.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -2247,8 +2247,12 @@ static struct hda_verb ad1988_spdif_init
+
+ /* AD1989 has no ADC -> SPDIF route */
+ static struct hda_verb ad1989_spdif_init_verbs[] = {
+- /* SPDIF out pin */
++ /* SPDIF-1 out pin */
++ {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
+ {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
++ /* SPDIF-2/HDMI out pin */
++ {0x1d, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT },
++ {0x1d, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE | 0x27}, /* 0dB */
+ { }
+ };
+
--- /dev/null
+From f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3 Mon Sep 17 00:00:00 2001
+From: Robin H. Johnson <robbat2@orbis-terrarum.net>
+Date: Sat, 13 Sep 2008 16:55:01 -0700
+Subject: ALSA: HDA: patch_analog: Quirk for Asus P5Q Premium/Pro boards.
+
+From: Robin H. Johnson <robbat2@orbis-terrarum.net>
+
+commit f51ff9937bc6732ed5fc08088fdbe89ab8ed27c3 upstream
+
+Use 6STACK_DIG for the AD2000BX variant of the AD1989B chip used by Asus
+on their Asus P5Q Premium and Pro boards.
+
+Signed-off-by: Robin H. Johnson <robbat2@gentoo.org>
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Jaroslav Kysela <perex@perex.cz>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_analog.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+--- a/sound/pci/hda/patch_analog.c
++++ b/sound/pci/hda/patch_analog.c
+@@ -2872,6 +2872,7 @@ static struct snd_pci_quirk ad1988_cfg_t
+ SND_PCI_QUIRK(0x1043, 0x81ec, "Asus P5B-DLX", AD1988_6STACK_DIG),
+ SND_PCI_QUIRK(0x1043, 0x81f6, "Asus M2N-SLI", AD1988_6STACK_DIG),
+ SND_PCI_QUIRK(0x1043, 0x8277, "Asus P5K-E/WIFI-AP", AD1988_6STACK_DIG),
++ SND_PCI_QUIRK(0x1043, 0x8311, "Asus P5Q-Premium/Pro", AD1988_6STACK_DIG),
+ {}
+ };
+
--- /dev/null
+From e044c39ae258678d6ebb09fccb2a0fdf7ec51847 Mon Sep 17 00:00:00 2001
+From: Takashi Iwai <tiwai@suse.de>
+Date: Mon, 27 Oct 2008 16:56:24 +0100
+Subject: ALSA: hda - Restore default pin configs for realtek codecs
+
+From: Takashi Iwai <tiwai@suse.de>
+
+commit e044c39ae258678d6ebb09fccb2a0fdf7ec51847 upstream
+
+Some machines have broken BIOS resume that doesn't restore the default
+pin configuration properly, which results in a wrong detection of HP
+pin. This causes a silent speaker output due to missing HP detection.
+Related bug: Novell bug#406101
+ https://bugzilla.novell.com/show_bug.cgi?id=406101
+
+This patch fixes the issue by saving/restoring the default pin configs
+by the driver itself.
+
+Signed-off-by: Takashi Iwai <tiwai@suse.de>
+Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
+---
+ sound/pci/hda/patch_realtek.c | 77 ++++++++++++++++++++++++++++++++++++++++++
+ 1 file changed, 77 insertions(+)
+
+--- a/sound/pci/hda/patch_realtek.c
++++ b/sound/pci/hda/patch_realtek.c
+@@ -292,6 +292,13 @@ struct alc_spec {
+ /* for PLL fix */
+ hda_nid_t pll_nid;
+ unsigned int pll_coef_idx, pll_coef_bit;
++
++#ifdef SND_HDA_NEEDS_RESUME
++#define ALC_MAX_PINS 16
++ unsigned int num_pins;
++ hda_nid_t pin_nids[ALC_MAX_PINS];
++ unsigned int pin_cfgs[ALC_MAX_PINS];
++#endif
+ };
+
+ /*
+@@ -2723,6 +2730,64 @@ static void alc_free(struct hda_codec *c
+ codec->spec = NULL; /* to be sure */
+ }
+
++#ifdef SND_HDA_NEEDS_RESUME
++static void store_pin_configs(struct hda_codec *codec)
++{
++ struct alc_spec *spec = codec->spec;
++ hda_nid_t nid, end_nid;
++
++ end_nid = codec->start_nid + codec->num_nodes;
++ for (nid = codec->start_nid; nid < end_nid; nid++) {
++ unsigned int wid_caps = get_wcaps(codec, nid);
++ unsigned int wid_type =
++ (wid_caps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT;
++ if (wid_type != AC_WID_PIN)
++ continue;
++ if (spec->num_pins >= ARRAY_SIZE(spec->pin_nids))
++ break;
++ spec->pin_nids[spec->num_pins] = nid;
++ spec->pin_cfgs[spec->num_pins] =
++ snd_hda_codec_read(codec, nid, 0,
++ AC_VERB_GET_CONFIG_DEFAULT, 0);
++ spec->num_pins++;
++ }
++}
++
++static void resume_pin_configs(struct hda_codec *codec)
++{
++ struct alc_spec *spec = codec->spec;
++ int i;
++
++ for (i = 0; i < spec->num_pins; i++) {
++ hda_nid_t pin_nid = spec->pin_nids[i];
++ unsigned int pin_config = spec->pin_cfgs[i];
++ snd_hda_codec_write(codec, pin_nid, 0,
++ AC_VERB_SET_CONFIG_DEFAULT_BYTES_0,
++ pin_config & 0x000000ff);
++ snd_hda_codec_write(codec, pin_nid, 0,
++ AC_VERB_SET_CONFIG_DEFAULT_BYTES_1,
++ (pin_config & 0x0000ff00) >> 8);
++ snd_hda_codec_write(codec, pin_nid, 0,
++ AC_VERB_SET_CONFIG_DEFAULT_BYTES_2,
++ (pin_config & 0x00ff0000) >> 16);
++ snd_hda_codec_write(codec, pin_nid, 0,
++ AC_VERB_SET_CONFIG_DEFAULT_BYTES_3,
++ pin_config >> 24);
++ }
++}
++
++static int alc_resume(struct hda_codec *codec)
++{
++ resume_pin_configs(codec);
++ codec->patch_ops.init(codec);
++ snd_hda_codec_resume_amp(codec);
++ snd_hda_codec_resume_cache(codec);
++ return 0;
++}
++#else
++#define store_pin_configs(codec)
++#endif
++
+ /*
+ */
+ static struct hda_codec_ops alc_patch_ops = {
+@@ -2731,6 +2796,9 @@ static struct hda_codec_ops alc_patch_op
+ .init = alc_init,
+ .free = alc_free,
+ .unsol_event = alc_unsol_event,
++#ifdef SND_HDA_NEEDS_RESUME
++ .resume = alc_resume,
++#endif
+ #ifdef CONFIG_SND_HDA_POWER_SAVE
+ .check_power_status = alc_check_power_status,
+ #endif
+@@ -3777,6 +3845,7 @@ static int alc880_parse_auto_config(stru
+ spec->num_mux_defs = 1;
+ spec->input_mux = &spec->private_imux;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -5125,6 +5194,7 @@ static int alc260_parse_auto_config(stru
+ }
+ spec->num_mixers++;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -9731,6 +9801,7 @@ static int alc262_parse_auto_config(stru
+ if (err < 0)
+ return err;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -10762,6 +10833,7 @@ static int alc268_parse_auto_config(stru
+ if (err < 0)
+ return err;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -11427,6 +11499,7 @@ static int alc269_parse_auto_config(stru
+ spec->mixers[spec->num_mixers] = alc269_capture_mixer;
+ spec->num_mixers++;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -12495,6 +12568,7 @@ static int alc861_parse_auto_config(stru
+ spec->mixers[spec->num_mixers] = alc861_capture_mixer;
+ spec->num_mixers++;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -13606,6 +13680,7 @@ static int alc861vd_parse_auto_config(st
+ if (err < 0)
+ return err;
+
++ store_pin_configs(codec);
+ return 1;
+ }
+
+@@ -14853,6 +14928,8 @@ static int alc662_parse_auto_config(stru
+
+ spec->mixers[spec->num_mixers] = alc662_capture_mixer;
+ spec->num_mixers++;
++
++ store_pin_configs(codec);
+ return 1;
+ }
+
usb-storage-update-unusual_devs-entries-for-nokia-5300-and-5310.patch
usb-storage-unusual_devs-entry-for-mio-c520-gps.patch
usb-usb-storage-unusual_devs-entry-for-nikon-d2h.patch
+alsa-hda-hda_proc-fix-printf-format-specifier.patch
+alsa-hda-fix-sound-on-nec-versa-s9100.patch
+alsa-hda-add-support-for-ecs-pc-chips-boards-with-sigmatel-codecs.patch
+alsa-hda-fix-alc269-capture-source.patch
+alsa-hda-add-model-for-toshiba-l305-laptop.patch
+alsa-hda-fixed-hp_nid-dac-for-dell_m6.patch
+alsa-hda-patch_analog-fix-spdif-output-on-ad1989b.patch
+alsa-hda-patch_analog-quirk-for-asus-p5q-premium-pro-boards.patch
+alsa-hda-appletv-support.patch
+alsa-hda-fix-another-alc889a.patch
+alsa-hda-add-alc887-support.patch
+alsa-hda-add-support-of-alc272.patch
+alsa-hda-restore-default-pin-configs-for-realtek-codecs.patch
+alsa-hda-add-another-hp-model-for-ad1884a.patch
+alsa-hda-add-a-quirk-for-another-acer-aspire.patch
+alsa-hda-add-a-quirk-for-medion-md96630.patch
+alsa-hda-add-another-hp-model-6730s-for-ad1884a.patch
+alsa-hda-make-the-hp-elitebook-8530p-use-ad1884a-model-laptop.patch
+alsa-hda-add-a-quirk-for-dell-studio-15.patch
+alsa-hda-no-headphone-as-line-out-swich-without-line-outs.patch
+alsa-hda-mark-dell-studio-1535-quirk.patch