diff --git a/sys-kernel/geos_one-sources/ChangeLog b/sys-kernel/geos_one-sources/ChangeLog index 75bb6e24..ab09da4a 100644 --- a/sys-kernel/geos_one-sources/ChangeLog +++ b/sys-kernel/geos_one-sources/ChangeLog @@ -2,6 +2,10 @@ # Copyright 1999-2008 Gentoo Foundation; Distributed under the GPL v2 # $Header: $ + 10 Dec 2008; Mario Fetka +files/squashfs-2.6.28, + +files/intel-hda-a3530, geos_one-sources-2.6.28_rc7.ebuild: + fix squashfs add xa3530 sound patch + 10 Dec 2008; Mario Fetka ChangeLog: update AA package diff --git a/sys-kernel/geos_one-sources/Manifest b/sys-kernel/geos_one-sources/Manifest index 7d62ae09..9662cea4 100644 --- a/sys-kernel/geos_one-sources/Manifest +++ b/sys-kernel/geos_one-sources/Manifest @@ -1,3 +1,5 @@ +AUX intel-hda-a3530 13174 RMD160 e9fd8a6ffa3689e68edce74733e76378c467ba72 SHA1 5656993837d657271b0001d8bd4d5047d854713e SHA256 b4543cae20203bbd8d144d92f4ef48348c29bf28b44a9de9eece15e05959979f +AUX squashfs-2.6.28 219 RMD160 c1a3ae8e02643051f171500928005ca85d9d83cf SHA1 cf541d09ec2a8fe77525ebb91dd8e73060a4741a SHA256 a3b608a493ad09c983a5a697e05156697d6875a146690b8cda142854c298a9b1 DIST 2.6.27-AA2.3.tgz 94365 RMD160 b0a1bbd73930276f31a0706e8f1a55404a958927 SHA1 614c797b24103a9b1605e6896dfbec99214c293b SHA256 cadbff5288c796f4f69ec8732ad6650b92b6f15c5a0eb00996a46fcbeb9790d7 DIST 2.6.27.4-ext4.tar.gz 167096 RMD160 943c56a52034f0423a3517c97a2ab0faac18b6b8 SHA1 3b83be52ef9c11915e3a07a79f7cc06c2722e90b SHA256 ec041900086ca6e3a2e2b3f4ae1ae2fcfbdca6dbe9b3484e5fb16ba7e0252f62 DIST 2.6.28-AA2.3.tgz 94298 RMD160 e2095b19e3c965af14d71ee9e69694281ca704d8 SHA1 187e06aa902bac742f1831168315c14ffba16a2e SHA256 30ca2711bc5df7bda2ac787d3863744c03cfd1e57041422742e391d4bfcff6bc @@ -22,6 +24,6 @@ EBUILD geos_one-sources-2.6.27-r3.ebuild 2818 RMD160 b0fd5f2325e676f63333ae05e34 EBUILD geos_one-sources-2.6.27-r4.ebuild 3188 RMD160 b1a913ed142b956140c8a2ea48baa7b11642dff7 SHA1 692ad5d09c4e135e640c5a1828c26ab71ddebf23 SHA256 14e836f0b0837b705c1d569f42eaa3fdd89c26f8cef11eaec136afe9c1fecdac EBUILD geos_one-sources-2.6.27-r5.ebuild 3265 RMD160 0c586971609d1e16df2da29e50845fad2608843a SHA1 a9c6278c6bfa00a9f08d560d0831e6bbb9ae7cac SHA256 2a5b2925d26f802c10a734581ff803f9a000de6eabdb61b260729f32f5fe2efa EBUILD geos_one-sources-2.6.27.ebuild 2818 RMD160 69ef8455d7c694d38fed4f5cfefa2887d8b034e9 SHA1 53d881b5df29947ff7783b2cc25f6c4e1997be9d SHA256 e5051c904dfbc282d6e37c9e9f9710d74f9932f8a1b1a120371f14cd6c241fa9 -EBUILD geos_one-sources-2.6.28_rc7.ebuild 2818 RMD160 6f6757f15038907ebd307401fd7a188750388953 SHA1 0d95b76c39b103fcb21bd397408ed6187b9062d5 SHA256 904646fa160e8d959bb4e538010f86897aed1a0d0263f91f95ec3be084a98bcb -MISC ChangeLog 2312 RMD160 d93311c82fab3283af09e478f36416b0336ba934 SHA1 e6f6e40fa9c248be65142c74bc6ee0508510ce0c SHA256 abd149f279442151249be8459c42007e4b5e8b0123f4cd2c63724b49ec563d8c +EBUILD geos_one-sources-2.6.28_rc7.ebuild 2890 RMD160 d1d557aada3bb29af710c3f5f5d45ba51f985386 SHA1 432bab1ef42d6108423f21e73c643f7bbc72d736 SHA256 62a329c1f6b247bfc416cc577ec43e9e934438edc2a51dfc897ee1472ab84242 +MISC ChangeLog 2488 RMD160 d56253ccbf70a0901a0c6923d20ade570344b04c SHA1 676ded7fc82550c40f35d7dccce496ee0b47cf53 SHA256 5cad052567bef3c449fc3ca0eeddbb4b0d4b4e47d145aa532906caf3a353d97d MISC metadata.xml 413 RMD160 7e4e48d47e48804072f4ce93e1948fda82433a90 SHA1 cd61cf36ba79f6635ab7b7957f31609ecf52cc90 SHA256 74fe6520890eaf800a1759f3e4f772fd0e433e5de9cf775a50c7af95b199518b diff --git a/sys-kernel/geos_one-sources/files/intel-hda-a3530 b/sys-kernel/geos_one-sources/files/intel-hda-a3530 new file mode 100644 index 00000000..99ce4820 --- /dev/null +++ b/sys-kernel/geos_one-sources/files/intel-hda-a3530 @@ -0,0 +1,384 @@ +--- a/sound/pci/hda/patch_realtek.c ++++ b/sound/pci/hda/patch_realtek.c +@@ -212,6 +212,7 @@ + ALC883_TARGA_2ch_DIG, + ALC883_ACER, + ALC883_ACER_ASPIRE, ++ ALC888_ACER_ASPIRE_4930G, + ALC883_MEDION, + ALC883_MEDION_MD2, + ALC883_LAPTOP_EAPD, +@@ -225,9 +226,11 @@ + ALC883_MITAC, + ALC883_CLEVO_M720, + ALC883_FUJITSU_PI2515, ++ ALC888_FUJITSU_XA3530, + ALC883_3ST_6ch_INTEL, + ALC888_ASUS_M90V, + ALC888_ASUS_EEE1601, ++ ALC1200_ASUS_P5Q, + ALC883_AUTO, + ALC883_MODEL_LAST, + }; +@@ -1107,6 +1110,226 @@ + } + + /* ++ * ALC888 ++ */ ++ ++/* ++ * 2ch mode ++ */ ++static struct hda_verb alc888_4ST_ch2_intel_init[] = { ++/* Mic-in jack as mic in */ ++ { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, ++ { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, ++/* Line-in jack as Line in */ ++ { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN }, ++ { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, ++/* Line-Out as Front */ ++ { 0x17, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ { } /* end */ ++}; ++ ++/* ++ * 4ch mode ++ */ ++static struct hda_verb alc888_4ST_ch4_intel_init[] = { ++/* Mic-in jack as mic in */ ++ { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_VREF80 }, ++ { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_MUTE }, ++/* Line-in jack as Surround */ ++ { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, ++ { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, ++/* Line-Out as Front */ ++ { 0x17, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ { } /* end */ ++}; ++ ++/* ++ * 6ch mode ++ */ ++static struct hda_verb alc888_4ST_ch6_intel_init[] = { ++/* Mic-in jack as CLFE */ ++ { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, ++ { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, ++/* Line-in jack as Surround */ ++ { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, ++ { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, ++/* Line-Out as CLFE (workaround because Mic-in is not loud enough) */ ++ { 0x17, AC_VERB_SET_CONNECT_SEL, 0x03}, ++ { } /* end */ ++}; ++ ++/* ++ * 8ch mode ++ */ ++static struct hda_verb alc888_4ST_ch8_intel_init[] = { ++/* Mic-in jack as CLFE */ ++ { 0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, ++ { 0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, ++/* Line-in jack as Surround */ ++ { 0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT }, ++ { 0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE }, ++/* Line-Out as Side */ ++ { 0x17, AC_VERB_SET_CONNECT_SEL, 0x03}, ++ { } /* end */ ++}; ++ ++static struct hda_channel_mode alc888_4ST_8ch_intel_modes[4] = { ++ { 2, alc888_4ST_ch2_intel_init }, ++ { 4, alc888_4ST_ch4_intel_init }, ++ { 6, alc888_4ST_ch6_intel_init }, ++ { 8, alc888_4ST_ch8_intel_init }, ++}; ++ ++/* ++ * ALC888 Fujitsu Siemens Amillo xa3530 ++ */ ++ ++static struct hda_verb alc888_fujitsu_xa3530_verbs[] = { ++/* Front Mic: set to PIN_IN (empty by default) */ ++ {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, ++/* Connect Internal HP to Front */ ++ {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, ++/* Connect Bass HP to Front */ ++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, ++/* Connect Line-Out side jack (SPDIF) to Side */ ++ {0x17, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x17, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x17, AC_VERB_SET_CONNECT_SEL, 0x03}, ++/* Connect Mic jack to CLFE */ ++ {0x18, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x18, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x18, AC_VERB_SET_CONNECT_SEL, 0x02}, ++/* Connect Line-in jack to Surround */ ++ {0x1a, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x1a, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x1a, AC_VERB_SET_CONNECT_SEL, 0x01}, ++/* Connect HP out jack to Front */ ++ {0x1b, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x1b, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x1b, AC_VERB_SET_CONNECT_SEL, 0x00}, ++/* Enable unsolicited event for HP jack and Line-out jack */ ++ {0x1b, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, ++ {0x17, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, ++ {} ++}; ++ ++static void alc888_fujitsu_xa3530_automute(struct hda_codec *codec) ++{ ++ unsigned int present; ++ unsigned int bits; ++ /* Line out presence */ ++ present = snd_hda_codec_read(codec, 0x17, 0, ++ AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; ++ /* HP out presence */ ++ present = present || snd_hda_codec_read(codec, 0x1b, 0, ++ AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; ++ bits = present ? HDA_AMP_MUTE : 0; ++ /* Toggle internal speakers muting */ ++ snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, bits); ++ /* Toggle internal bass muting */ ++ snd_hda_codec_amp_stereo(codec, 0x15, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, bits); ++} ++ ++static void alc888_fujitsu_xa3530_unsol_event(struct hda_codec *codec, ++ unsigned int res) ++{ ++ if (res >> 26 == ALC880_HP_EVENT) ++ alc888_fujitsu_xa3530_automute(codec); ++} ++ ++ ++/* ++ * ALC888 Acer Aspire 4930G model ++ */ ++ ++static struct hda_verb alc888_acer_aspire_4930g_verbs[] = { ++/* Front Mic: set to PIN_IN (empty by default) */ ++ {0x12, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_IN}, ++/* Unselect Front Mic by default in input mixer 3 */ ++ {0x22, AC_VERB_SET_AMP_GAIN_MUTE, AMP_IN_MUTE(0xb)}, ++/* Enable unsolicited event for HP jack */ ++ {0x15, AC_VERB_SET_UNSOLICITED_ENABLE, ALC880_HP_EVENT | AC_USRSP_EN}, ++/* Connect Internal HP to front */ ++ {0x14, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x14, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x14, AC_VERB_SET_CONNECT_SEL, 0x00}, ++/* Connect HP out to front */ ++ {0x15, AC_VERB_SET_PIN_WIDGET_CONTROL, PIN_OUT}, ++ {0x15, AC_VERB_SET_AMP_GAIN_MUTE, AMP_OUT_UNMUTE}, ++ {0x15, AC_VERB_SET_CONNECT_SEL, 0x00}, ++ { } ++}; ++ ++static struct hda_input_mux alc888_2_capture_sources[2] = { ++ /* Front mic only available on one ADC */ ++ { ++ .num_items = 4, ++ .items = { ++ { "Mic", 0x0 }, ++ { "Line", 0x2 }, ++ { "CD", 0x4 }, ++ { "Front Mic", 0xb }, ++ }, ++ }, ++ { ++ .num_items = 3, ++ .items = { ++ { "Mic", 0x0 }, ++ { "Line", 0x2 }, ++ { "CD", 0x4 }, ++ }, ++ } ++}; ++ ++static struct snd_kcontrol_new alc888_base_mixer[] = { ++ HDA_CODEC_VOLUME("Front Playback Volume", 0x0c, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Front Playback Switch", 0x0c, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Surround Playback Volume", 0x0d, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Surround Playback Switch", 0x0d, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME_MONO("Center Playback Volume", 0x0e, 1, 0x0, ++ HDA_OUTPUT), ++ HDA_CODEC_VOLUME_MONO("LFE Playback Volume", 0x0e, 2, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE_MONO("Center Playback Switch", 0x0e, 1, 2, HDA_INPUT), ++ HDA_BIND_MUTE_MONO("LFE Playback Switch", 0x0e, 2, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("Side Playback Volume", 0x0f, 0x0, HDA_OUTPUT), ++ HDA_BIND_MUTE("Side Playback Switch", 0x0f, 2, HDA_INPUT), ++ HDA_CODEC_VOLUME("CD Playback Volume", 0x0b, 0x04, HDA_INPUT), ++ HDA_CODEC_MUTE("CD Playback Switch", 0x0b, 0x04, HDA_INPUT), ++ HDA_CODEC_VOLUME("Line Playback Volume", 0x0b, 0x02, HDA_INPUT), ++ HDA_CODEC_MUTE("Line Playback Switch", 0x0b, 0x02, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Playback Volume", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("Mic Boost", 0x18, 0, HDA_INPUT), ++ HDA_CODEC_MUTE("Mic Playback Switch", 0x0b, 0x0, HDA_INPUT), ++ HDA_CODEC_VOLUME("PC Speaker Playback Volume", 0x0b, 0x05, HDA_INPUT), ++ HDA_CODEC_MUTE("PC Speaker Playback Switch", 0x0b, 0x05, HDA_INPUT), ++ { } /* end */ ++}; ++ ++static void alc888_acer_aspire_4930g_automute(struct hda_codec *codec) ++{ ++ unsigned int present; ++ unsigned int bits; ++ present = snd_hda_codec_read(codec, 0x15, 0, ++ AC_VERB_GET_PIN_SENSE, 0) & 0x80000000; ++ bits = present ? HDA_AMP_MUTE : 0; ++ snd_hda_codec_amp_stereo(codec, 0x14, HDA_OUTPUT, 0, ++ HDA_AMP_MUTE, bits); ++} ++ ++static void alc888_acer_aspire_4930g_unsol_event(struct hda_codec *codec, ++ unsigned int res) ++{ ++ if (res >> 26 == ALC880_HP_EVENT) ++ alc888_acer_aspire_4930g_automute(codec); ++} ++ ++/* + * ALC880 3-stack model + * + * DAC: Front = 0x02 (0x0c), Surr = 0x05 (0x0f), CLFE = 0x04 (0x0e) +@@ -3170,6 +3393,7 @@ + SND_PCI_QUIRK(0x1025, 0xe309, "ULI", ALC880_3ST_DIG), + SND_PCI_QUIRK(0x1025, 0xe310, "ULI", ALC880_3ST), + SND_PCI_QUIRK(0x1039, 0x1234, NULL, ALC880_6ST_DIG), ++ SND_PCI_QUIRK(0x1025, 0x013e, "Acer Aspire 4930G", ALC888_ACER_ASPIRE_4930G), + SND_PCI_QUIRK(0x103c, 0x2a09, "HP", ALC880_5ST), + SND_PCI_QUIRK(0x1043, 0x10b3, "ASUS W1V", ALC880_ASUS_W1V), + SND_PCI_QUIRK(0x1043, 0x10c2, "ASUS W6A", ALC880_ASUS_DIG), +@@ -6415,6 +6639,7 @@ + SND_PCI_QUIRK(0x1043, 0x1971, "Asus W2JC", ALC882_W2JC), + SND_PCI_QUIRK(0x1043, 0x817f, "Asus P5LD2", ALC882_6ST_DIG), + SND_PCI_QUIRK(0x1043, 0x81d8, "Asus P5WD", ALC882_6ST_DIG), ++ SND_PCI_QUIRK(0x1043, 0x82fe, "Asus P5Q-EM HDMI", ALC1200_ASUS_P5Q), + SND_PCI_QUIRK(0x105b, 0x6668, "Foxconn", ALC882_6ST_DIG), + SND_PCI_QUIRK(0x1458, 0xa002, "Gigabyte P35 DS3R", ALC882_6ST_DIG), + SND_PCI_QUIRK(0x1462, 0x28fb, "Targa T8", ALC882_TARGA), /* MSI-1049 T8 */ +@@ -6879,6 +7104,8 @@ + #define ALC883_DIGOUT_NID 0x06 + #define ALC883_DIGIN_NID 0x0a + ++#define ALC1200_DIGOUT_NID 0x10 ++ + static hda_nid_t alc883_dac_nids[4] = { + /* front, rear, clfe, rear_surr */ + 0x02, 0x03, 0x04, 0x05 +@@ -6889,8 +7116,15 @@ + 0x08, 0x09, + }; + ++static hda_nid_t alc883_adc_nids_rev[2] = { ++ /* ADC2-1 */ ++ 0x09, 0x08 ++}; ++ + static hda_nid_t alc883_capsrc_nids[2] = { 0x23, 0x22 }; + ++static hda_nid_t alc883_capsrc_nids_rev[2] = { 0x22, 0x23 }; ++ + /* input MUX */ + /* FIXME: should be a matrix-type input source selection */ + +@@ -8394,6 +8628,7 @@ + [ALC883_TARGA_2ch_DIG] = "targa-2ch-dig", + [ALC883_ACER] = "acer", + [ALC883_ACER_ASPIRE] = "acer-aspire", ++ [ALC888_ACER_ASPIRE_4930G] = "acer-aspire-4930g", + [ALC883_MEDION] = "medion", + [ALC883_MEDION_MD2] = "medion-md2", + [ALC883_LAPTOP_EAPD] = "laptop-eapd", +@@ -8407,7 +8642,9 @@ + [ALC883_MITAC] = "mitac", + [ALC883_CLEVO_M720] = "clevo-m720", + [ALC883_FUJITSU_PI2515] = "fujitsu-pi2515", ++ [ALC888_FUJITSU_XA3530] = "fujitsu-xa3530", + [ALC883_3ST_6ch_INTEL] = "3stack-6ch-intel", ++ [ALC1200_ASUS_P5Q] = "asus-p5q", + [ALC883_AUTO] = "auto", + }; + +@@ -8463,6 +8700,7 @@ + SND_PCI_QUIRK(0x15d9, 0x8780, "Supermicro PDSBA", ALC883_3ST_6ch), + SND_PCI_QUIRK(0x161f, 0x2054, "Medion laptop", ALC883_MEDION), + SND_PCI_QUIRK(0x1734, 0x1108, "Fujitsu AMILO Pi2515", ALC883_FUJITSU_PI2515), ++ SND_PCI_QUIRK(0x1734, 0x113d, "Fujitsu AMILO Xa3530", ALC888_FUJITSU_XA3530), + SND_PCI_QUIRK(0x17aa, 0x101e, "Lenovo 101e", ALC883_LENOVO_101E_2ch), + SND_PCI_QUIRK(0x17aa, 0x2085, "Lenovo NB0763", ALC883_LENOVO_NB0763), + SND_PCI_QUIRK(0x17aa, 0x3bfc, "Lenovo NB0763", ALC883_LENOVO_NB0763), +@@ -8586,6 +8824,26 @@ + .unsol_event = alc883_acer_aspire_unsol_event, + .init_hook = alc883_acer_aspire_automute, + }, ++ [ALC888_ACER_ASPIRE_4930G] = { ++ .mixers = { alc888_base_mixer, ++ alc883_chmode_mixer }, ++ .init_verbs = { alc883_init_verbs, alc880_gpio1_init_verbs, ++ alc888_acer_aspire_4930g_verbs }, ++ .num_dacs = ARRAY_SIZE(alc883_dac_nids), ++ .dac_nids = alc883_dac_nids, ++ .num_adc_nids = ARRAY_SIZE(alc883_adc_nids_rev), ++ .adc_nids = alc883_adc_nids_rev, ++ .capsrc_nids = alc883_capsrc_nids_rev, ++ .dig_out_nid = ALC883_DIGOUT_NID, ++ .num_channel_mode = ARRAY_SIZE(alc883_3ST_6ch_modes), ++ .channel_mode = alc883_3ST_6ch_modes, ++ .need_dac_fix = 1, ++ .num_mux_defs = ++ ARRAY_SIZE(alc888_2_capture_sources), ++ .input_mux = alc888_2_capture_sources, ++ .unsol_event = alc888_acer_aspire_4930g_unsol_event, ++ .init_hook = alc888_acer_aspire_4930g_automute, ++ }, + [ALC883_MEDION] = { + .mixers = { alc883_fivestack_mixer, + alc883_chmode_mixer }, +@@ -8653,6 +8911,22 @@ + .unsol_event = alc883_medion_md2_unsol_event, + .init_hook = alc883_medion_md2_automute, + }, ++ [ALC888_FUJITSU_XA3530] = { ++ .mixers = { alc888_base_mixer, alc883_chmode_mixer }, ++ .init_verbs = { alc883_init_verbs, alc888_fujitsu_xa3530_verbs }, ++ .num_dacs = ARRAY_SIZE(alc883_dac_nids), ++ .dac_nids = alc883_dac_nids, ++ .num_adc_nids = ARRAY_SIZE(alc883_adc_nids_rev), ++ .adc_nids = alc883_adc_nids_rev, ++ .capsrc_nids = alc883_capsrc_nids_rev, ++ .dig_out_nid = ALC883_DIGOUT_NID, ++ .num_channel_mode = ARRAY_SIZE(alc888_4ST_8ch_intel_modes), ++ .channel_mode = alc888_4ST_8ch_intel_modes, ++ .num_mux_defs = ARRAY_SIZE(alc888_2_capture_sources), ++ .input_mux = alc888_2_capture_sources, ++ .unsol_event = alc888_fujitsu_xa3530_unsol_event, ++ .init_hook = alc888_fujitsu_xa3530_automute, ++ }, + [ALC888_LENOVO_MS7195_DIG] = { + .mixers = { alc883_3ST_6ch_mixer, alc883_chmode_mixer }, + .init_verbs = { alc883_init_verbs, alc888_lenovo_ms7195_verbs}, +@@ -8768,6 +9042,17 @@ + .unsol_event = alc883_eee1601_unsol_event, + .init_hook = alc883_eee1601_inithook, + }, ++ [ALC1200_ASUS_P5Q] = { ++ .mixers = { alc883_base_mixer, alc883_chmode_mixer }, ++ .init_verbs = { alc883_init_verbs }, ++ .num_dacs = ARRAY_SIZE(alc883_dac_nids), ++ .dac_nids = alc883_dac_nids, ++ .dig_out_nid = ALC1200_DIGOUT_NID, ++ .dig_in_nid = ALC883_DIGIN_NID, ++ .num_channel_mode = ARRAY_SIZE(alc883_sixstack_modes), ++ .channel_mode = alc883_sixstack_modes, ++ .input_mux = &alc883_capture_source, ++ }, + }; + + diff --git a/sys-kernel/geos_one-sources/files/squashfs-2.6.28 b/sys-kernel/geos_one-sources/files/squashfs-2.6.28 new file mode 100644 index 00000000..70f621c5 --- /dev/null +++ b/sys-kernel/geos_one-sources/files/squashfs-2.6.28 @@ -0,0 +1,11 @@ +--- a/fs/squashfs/inode.c ++++ b/fs/squashfs/inode.c +@@ -656,7 +656,7 @@ + goto failure; + } + +- dentry = d_alloc_anon(i); ++ dentry = d_obtain_alias(i); + if (dentry == NULL) { + iput(i); + dentry = ERR_PTR(-ENOMEM); diff --git a/sys-kernel/geos_one-sources/geos_one-sources-2.6.28_rc7.ebuild b/sys-kernel/geos_one-sources/geos_one-sources-2.6.28_rc7.ebuild index c7e933b8..6d80928f 100644 --- a/sys-kernel/geos_one-sources/geos_one-sources-2.6.28_rc7.ebuild +++ b/sys-kernel/geos_one-sources/geos_one-sources-2.6.28_rc7.ebuild @@ -56,6 +56,8 @@ src_unpack() { epatch ${DISTDIR}/acpi-dsdt-initrd-v${DSDT_VER}-${DSDT_KV}.patch epatch ${DISTDIR}/unionfs-${UNION_VER}_for_${UNION_KV}.diff.gz epatch ${DISTDIR}/UnionFS_${UNION_VER}-AppArmor_${AA_VER}.patch + epatch ${FILESDIR}/intel-hda-a3530 + epatch ${FILESDIR}/squashfs-2.6.28 find ${WORKDIR} -iname "*.orig" -exec rm {} \; 2> /dev/null