summaryrefslogtreecommitdiff
path: root/sys-kernel
diff options
context:
space:
mode:
authorBertrand Jacquin <beber@meleeweb.net>2011-07-02 16:40:00 +0200
committerBertrand Jacquin <beber@meleeweb.net>2011-07-02 16:40:00 +0200
commit2900e3d9e976e9a63ad915e65269d54d14a9949c (patch)
treec1cc6623dfd3ba8faa752ba77df299aad4086f9c /sys-kernel
parentc-icap can't cross-compile cause to configure.in that don't let user (diff)
downloadportage-2900e3d9e976e9a63ad915e65269d54d14a9949c.tar.xz
alix-sources 2.6.27.59
Diffstat (limited to 'sys-kernel')
-rw-r--r--sys-kernel/alix-sources/Manifest9
-rw-r--r--sys-kernel/alix-sources/alix-sources-2.6.27.34-r11.ebuild46
-rw-r--r--sys-kernel/alix-sources/alix-sources-2.6.27.59-r11.ebuild49
-rw-r--r--sys-kernel/alix-sources/files/CONTENTS-no-2.6.27.34.diff45
-rw-r--r--sys-kernel/alix-sources/files/linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff10
-rw-r--r--sys-kernel/alix-sources/files/linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff407
-rw-r--r--sys-kernel/alix-sources/files/wt-patchs-suffix.diff11
7 files changed, 577 insertions, 0 deletions
diff --git a/sys-kernel/alix-sources/Manifest b/sys-kernel/alix-sources/Manifest
index b058c529..b0a1b4f2 100644
--- a/sys-kernel/alix-sources/Manifest
+++ b/sys-kernel/alix-sources/Manifest
@@ -1,9 +1,18 @@
+AUX CONTENTS-no-2.6.27.34.diff 2858 RMD160 ad902a650f8483faa65f4a64b175359142eca577 SHA1 3c7a600e1ace499cbce7ac88ec05cd96680b1298 SHA256 2d68095dcb88e924e97df43f8eaccc84ae004212f8938500554ca049d58b535c
+AUX linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff 345 RMD160 0b1ed9d3e6e42f93a22a91f84a2410173a4e2d15 SHA1 a08ce675478443c743473d5275bb8d01a4e2795e SHA256 3f759b63de4b5df731d19eeb55e199624821952a648ca88aee5603cc68230505
+AUX linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff 13802 RMD160 561d8031326adf185868e57e5cf61d19705d9513 SHA1 1a69e3caef53772a98a302eeee982dc26b7e61cc SHA256 71a7b4cbfb79cb52e68a6fe077d5ccde693685b10ca73c2d47b9b95adc9b2439
+AUX wt-patchs-suffix.diff 393 RMD160 10e6c15cc3cc56bd2dfb898392ee21de6e5eae23 SHA1 86b05b89cad30a3b741b7ecbdf9103d525011234 SHA256 3226e51d1db80c82bd668bdf9c83826e78cca5f851da1bdf9824bfc12365afa1
DIST deblob-2.6.27 67810 RMD160 2d697e569fb4ba294c94a50798de10d2ad930b84 SHA1 45b2a16c2df2c14380cd813c74be721b9537d03d SHA256 2eab6480d170a7204b09f2c1091f2b3e4c19c3525ea4887e6887501bfa263efc
+DIST deblob-check-2.6.27 247608 RMD160 840bf8a229ea79810519eee6241edb85b78a6562 SHA1 d45a24eb16e5ac956c0fcddbc1ac4d67e326c7b8 SHA256 da1aecdf3ab7f1207b90642d303e52262ccc2ed9e49739b729512b88950d17f3
DIST linux-2.6.25.tar.bz2 48601689 RMD160 cf3ed52f888fe9df7a93abe4fdc2f598e1ba0ce4 SHA1 aa6187a1c212dd2d8bd906b023fcefdcf711f35e SHA256 108b2a3f2b05c0e57d1d0977619525e46f8d4b425aef4b38b47dcf94292f2dd2
DIST linux-2.6.27.tar.bz2 50355835 RMD160 5be4595ad824a4af67c1ec0c692838ad0c31f0c0 SHA1 8425ec3be2652f9d511911ff4fcf99039d4574be SHA256 0e99bf9e83f4d1ae0c656741a84dfddfa9c4d2469cf35475f5939d02dc3e4393
+DIST patch-2.6.27.34.bz2 401994 RMD160 da218c16bc856b50297631143ceace40094714d6 SHA1 03a3f5fcaf8a02a7e982f805d5082b734710cc69 SHA256 5b71e4be4bb2825e87494ee8376244e888c2ea2d3b5e29e805cd53c3371b7976
+DIST patch-2.6.27.59.bz2 530911 RMD160 f52b382e687eb6256911c03a3d9bc39b659f3442 SHA1 0fb1ba64115ac6d49c476708dc4ed8ac3776a2f1 SHA256 232834b8d36f1a40349d27c6383ff88f8f1879ba79d3fa16c643ae0213559a4e
DIST patches-2.6.25-wt17.tar.bz2 3732544 RMD160 44defc4f1b06819e5582300da574666b368a217e SHA1 8c8d43778d45ecb9d709e8a503adb0913ba72e32 SHA256 d276fa7b33a9fd63df8959332e997a74c37092b3fec5f5cdf5c97798f79f6e21
DIST patches-2.6.27-wt11.tar.bz2 4500351 RMD160 d0dec63f9553eaebd81eaeb747d7bd466aa0c4b0 SHA1 63a083d2b244616afe5cee2b2c99bc719fe61bca SHA256 6decb7fbe36f3c072ca1f2604a440910d7076dc3f74e1dd5c0c614249bd58589
DIST patches-2.6.27-wt6.tar.bz2 4009844 RMD160 fe8ad9b12ace727004a055c7883742e422b557ad SHA1 c69a5c57a13c46bfde2995ea107963a15d0f4ab5 SHA256 046bb3e6b052009fbcda14130931834a40c77b0101dee2dffa8a18dcae5940b9
EBUILD alix-sources-2.6.25-r17.ebuild 1247 RMD160 a2cb356d5e17002a5faec8c140bba01c94716ddd SHA1 54bb91078ee610df25265902aa8b1d9a0259f5e3 SHA256 c2017dd078724075b4f34563e759ac0fd83938cc21e6195aa687be064cf7ca09
EBUILD alix-sources-2.6.27-r11.ebuild 1247 RMD160 a2cb356d5e17002a5faec8c140bba01c94716ddd SHA1 54bb91078ee610df25265902aa8b1d9a0259f5e3 SHA256 c2017dd078724075b4f34563e759ac0fd83938cc21e6195aa687be064cf7ca09
EBUILD alix-sources-2.6.27-r6.ebuild 1247 RMD160 a2cb356d5e17002a5faec8c140bba01c94716ddd SHA1 54bb91078ee610df25265902aa8b1d9a0259f5e3 SHA256 c2017dd078724075b4f34563e759ac0fd83938cc21e6195aa687be064cf7ca09
+EBUILD alix-sources-2.6.27.34-r11.ebuild 1108 RMD160 6649cb863a8909139d82409ad4dab4e9020fde88 SHA1 61dff5a14400e55d58226de8e8c6702d6c6bfecf SHA256 1cf58abcd0cfc36334dcb43c127d020f117da42fa15094aa55a0ef2d28f78b99
+EBUILD alix-sources-2.6.27.59-r11.ebuild 1293 RMD160 69508f5c74f02f6805e8cc806edfc4538384f364 SHA1 d543ac472e6548acd46f3bf9b41fa142431c2d9b SHA256 ac7210a68263b4d2a3949ccab22d61023a347b66cc733361bc58dbfdbdbbe5d9
diff --git a/sys-kernel/alix-sources/alix-sources-2.6.27.34-r11.ebuild b/sys-kernel/alix-sources/alix-sources-2.6.27.34-r11.ebuild
new file mode 100644
index 00000000..274af7ba
--- /dev/null
+++ b/sys-kernel/alix-sources/alix-sources-2.6.27.34-r11.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+ETYPE="sources"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+HOMEPAGE="http://linux.1wt.eu/alix"
+
+WT_PATCHES="patches-${OKV}-${PR/r/wt}.tar.bz2"
+
+UNIPATCH_LIST="${WORKDIR}/${WT_PATCHES%.tar.bz2*}/numbered/[1-9]*.diff"
+UNIPATCH_STRICTORDER="yes"
+
+K_SECURITY_UNSUPPORTED="1"
+K_LONGTERM="1"
+K_DEBLOB_AVAILABLE="0"
+
+DESCRIPTION="Full sources including the Willy Tarreau Alix patchset"
+SRC_URI="${KERNEL_URI}
+ http://linux.1wt.eu/alix/kernel-src/${OKV}-${PR/r/wt}/${WT_PATCHES}"
+
+src_unpack () {
+ cd ${WORKDIR}
+ unpack ${WT_PATCHES}
+
+ cd ${WORKDIR}/${WT_PATCHES%.tar.bz2*}
+ # universal_unpack don't accept *.rediff and so
+ epatch "${FILESDIR}/CONTENTS-no-2.6.27.34.diff"
+ epatch "${FILESDIR}/wt-patchs-suffix.diff"
+ emake numbered KERNDIR=${WORKDIR}/${P} || die "emake numbered failed"
+
+ kernel-2_src_unpack
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
diff --git a/sys-kernel/alix-sources/alix-sources-2.6.27.59-r11.ebuild b/sys-kernel/alix-sources/alix-sources-2.6.27.59-r11.ebuild
new file mode 100644
index 00000000..0985abb5
--- /dev/null
+++ b/sys-kernel/alix-sources/alix-sources-2.6.27.59-r11.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2008 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: $
+
+EAPI="2"
+ETYPE="sources"
+
+inherit kernel-2
+detect_version
+detect_arch
+
+KEYWORDS="~x86 ~amd64"
+IUSE=""
+HOMEPAGE="http://linux.1wt.eu/alix"
+
+WT_PATCHES="patches-${OKV}-${PR/r/wt}.tar.bz2"
+
+UNIPATCH_LIST="${WORKDIR}/${WT_PATCHES%.tar.bz2*}/numbered/[1-9]*.diff"
+UNIPATCH_STRICTORDER="yes"
+UNIPATCH_EXCLUDE="212-2.6.27-sched-idle-fix.rediff.patch"
+
+K_SECURITY_UNSUPPORTED="1"
+K_LONGTERM="1"
+K_DEBLOB_AVAILABLE="0"
+
+DESCRIPTION="Full sources including the Willy Tarreau Alix patchset"
+SRC_URI="${KERNEL_URI}
+ http://linux.1wt.eu/alix/kernel-src/${OKV}-${PR/r/wt}/${WT_PATCHES}"
+
+src_unpack () {
+ cd ${WORKDIR}
+ unpack ${WT_PATCHES}
+
+ cd ${WORKDIR}/${WT_PATCHES%.tar.bz2*}
+ # universal_unpack don't accept *.rediff and so
+ epatch "${FILESDIR}/CONTENTS-no-2.6.27.34.diff"
+ epatch "${FILESDIR}/wt-patchs-suffix.diff"
+ epatch "${FILESDIR}/linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff"
+ epatch "${FILESDIR}/linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff"
+ emake numbered KERNDIR=${WORKDIR}/${P} || die "emake numbered failed"
+
+ kernel-2_src_unpack
+}
+
+pkg_postinst() {
+ kernel-2_pkg_postinst
+ einfo "For more info on this patchset, and how to report problems, see:"
+ einfo "${HOMEPAGE}"
+}
diff --git a/sys-kernel/alix-sources/files/CONTENTS-no-2.6.27.34.diff b/sys-kernel/alix-sources/files/CONTENTS-no-2.6.27.34.diff
new file mode 100644
index 00000000..ca440880
--- /dev/null
+++ b/sys-kernel/alix-sources/files/CONTENTS-no-2.6.27.34.diff
@@ -0,0 +1,45 @@
+--- CONTENTS.ori 2011-06-15 19:06:04.309614542 +0200
++++ CONTENTS 2011-06-15 19:06:49.621797116 +0200
+@@ -25,42 +25,6 @@
+ # some patches need a bit of preliminary work. Please consult the 'doc'
+ # directory before changing anything.
+
+-
+-1) base update
+-===============
+-This includes kernel updates with trivial fixes related to this exact
+-version, and very likely to be fixed in next one, if not already (missing
+-files, enormous bugs...).
+-+ patch-2.6.27.6 (stable team)
+-+ patch-2.6.27.6-7 (stable team)
+-+ patch-2.6.27.7-8 (stable team)
+-+ patch-2.6.27.8-9 (stable team)
+-+ patch-2.6.27.9-10 (stable team)
+-+ patch-2.6.27.10-11 (stable team)
+-+ patch-2.6.27.11-12 (stable team)
+-+ patch-2.6.27.12-13 (stable team)
+-+ patch-2.6.27.13-14 (stable team)
+-+ patch-2.6.27.14-15 (stable team)
+-+ patch-2.6.27.15-16 (stable team)
+-+ patch-2.6.27.16-17 (stable team)
+-+ patch-2.6.27.17-18 (stable team)
+-+ patch-2.6.27.18-19 (stable team)
+-+ patch-2.6.27.19-20 (stable team)
+-+ patch-2.6.27.20-21 (stable team)
+-+ patch-2.6.27.21-22 (stable team)
+-+ patch-2.6.27.22-23 (stable team)
+-+ patch-2.6.27.23-24 (stable team)
+-+ patch-2.6.27.24-25 (stable team)
+-+ patch-2.6.27.25-26 (stable team)
+-+ patch-2.6.27.26-27 (stable team)
+-+ patch-2.6.27.27-28 (stable team)
+-+ patch-2.6.27.28-29 (stable team)
+-+ patch-2.6.27.29-30 (stable team)
+-+ patch-2.6.27.30-31 (stable team)
+-+ patch-2.6.27.31-32 (stable team)
+-+ patch-2.6.27.32-33 (stable team)
+-+ patch-2.6.27.34-rc1 (stable team)
+-
+ ### following patches are already pending in -stable
+ (none)
+
diff --git a/sys-kernel/alix-sources/files/linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff b/sys-kernel/alix-sources/files/linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff
new file mode 100644
index 00000000..fb685e44
--- /dev/null
+++ b/sys-kernel/alix-sources/files/linux-phc-0.3.2_2.6.27-0.3.2_2.6.27.59.diff
@@ -0,0 +1,10 @@
+--- pool/linux-phc-0.3-kernel-vanilla-2.6.25.rediff 2011-06-27 12:14:07.193455710 +0200
++++ pool/linux-phc-0.3-kernel-vanilla-2.6.25.rediff 2011-06-27 12:14:22.579518456 +0200
+@@ -68,6 +68,7 @@
+ policy->cpu);
+ + if (data->original_controls)
+ + kfree(data->original_controls);
++ kfree(data->freq_table);
+ kfree(data);
+ }
+
diff --git a/sys-kernel/alix-sources/files/linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff b/sys-kernel/alix-sources/files/linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff
new file mode 100644
index 00000000..a20d14c2
--- /dev/null
+++ b/sys-kernel/alix-sources/files/linux-phc-0.3_2.6.25-0.3.2_2.6.27.diff
@@ -0,0 +1,407 @@
+--- pool/linux-phc-0.3-kernel-vanilla-2.6.25.rediff 2009-02-15 14:51:33.000000000 +0100
++++ pool/linux-phc-0.3-kernel-vanilla-2.6.25.rediff 2008-07-09 17:04:46.000000000 +0200
+@@ -1,46 +1,45 @@
+---- linux-2.6.25/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2008-04-17 05:49:44.000000000 +0300
+-+++ linux-2.6.25-teknohog/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2008-04-21 01:13:12.000000000 +0300
+-@@ -23,10 +23,16 @@
++diff --new-file -a --unified=5 --recursive linux-source-2.6.26-rc9_orig/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c linux-source-2.6.26-rc9-custom8/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c
++--- linux-source-2.6.26-rc9_orig/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2008-07-09 16:59:37.000000000 +0200
+++++ linux-source-2.6.26-rc9-custom8/arch/x86/kernel/cpu/cpufreq/acpi-cpufreq.c 2008-07-09 12:41:37.000000000 +0200
++@@ -23,10 +23,14 @@
+ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
+ *
+ * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ */
+
+-+/* This file has been patched with Linux PHC: https://www.dedigentoo.org/trac/linux-phc
+-+ * Patch version: linux-phc-0.3.1-kernel-vanilla-2.6.23.patch
+-+ * Updated for Linux 2.6.25 by Risto A. Paju, teknohog at iki.fi
+++/* This file has been patched with Linux PHC: http://phc.athousandnights.de
+++ * Patch version: linux-phc-0.3.1-kernel-vanilla-2.6.26.patch
+ + */
+ +
+-+
+ #include <linux/kernel.h>
+ #include <linux/module.h>
+ #include <linux/init.h>
+ #include <linux/smp.h>
+ #include <linux/sched.h>
+-@@ -57,16 +63,22 @@
++@@ -56,17 +60,22 @@
++ SYSTEM_IO_CAPABLE,
+ };
+
+ #define INTEL_MSR_RANGE (0xffff)
+ #define CPUID_6_ECX_APERFMPERF_CAPABILITY (0x1)
+-
+ +#define INTEL_MSR_VID_MASK (0x00ff)
+ +#define INTEL_MSR_FID_MASK (0xff00)
+ +#define INTEL_MSR_FID_SHIFT (0x8)
+-+#define PHC_VERSION_STRING "0.3.1:1"
+-+
+++#define PHC_VERSION_STRING "0.3.2:1"
++
+ struct acpi_cpufreq_data {
+ struct acpi_processor_performance *acpi_data;
+ struct cpufreq_frequency_table *freq_table;
+ unsigned int max_freq;
+ unsigned int resume;
+ unsigned int cpu_feature;
+-+ acpi_integer *original_controls;
+++ acpi_integer *original_controls;
+ };
+
+ static DEFINE_PER_CPU(struct acpi_cpufreq_data *, drv_data);
+
+ /* acpi_perf_data is a pointer to percpu data. */
+-@@ -102,17 +114,19 @@
++@@ -102,17 +111,18 @@
+ }
+
+ static unsigned extract_msr(u32 msr, struct acpi_cpufreq_data *data)
+@@ -55,27 +54,26 @@
+
+ for (i=0; data->freq_table[i].frequency != CPUFREQ_TABLE_END; i++) {
+ - if (msr == perf->states[data->freq_table[i].index].status)
+-+ if (fid == (perf->states[data->freq_table[i].index].status &
+-+ INTEL_MSR_FID_MASK))
+++ if (fid == (perf->states[data->freq_table[i].index].status & INTEL_MSR_FID_MASK))
+ return data->freq_table[i].frequency;
+ }
+ return data->freq_table[0].frequency;
+ }
+
+-@@ -729,10 +743,12 @@
++@@ -740,10 +750,12 @@
+ if (data) {
+ cpufreq_frequency_table_put_attr(policy->cpu);
+ per_cpu(drv_data, policy->cpu) = NULL;
+ acpi_processor_unregister_performance(data->acpi_data,
+ policy->cpu);
+-+ if (data->original_controls)
+-+ kfree(data->original_controls);
+++ if (data->original_controls)
+++ kfree(data->original_controls);
+ kfree(data);
+ }
+
+ return 0;
+ }
+-@@ -746,12 +762,452 @@
++@@ -757,12 +769,477 @@
+ data->resume = 1;
+
+ return 0;
+@@ -96,8 +94,25 @@
+ + return (control & INTEL_MSR_VID_MASK);
+ +}
+ +
+++
+++static bool check_cpu_control_capability(struct acpi_cpufreq_data *data) {
+++ /* check if the cpu we are running on is capable of setting new control data
+++ *
+++ */
+++ if (unlikely(data == NULL ||
+++ data->acpi_data == NULL ||
+++ data->freq_table == NULL ||
+++ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+++ return false;
+++ } else {
+++ return true;
+++ };
+++}
+++
+++
+ +static ssize_t check_origial_table (struct acpi_cpufreq_data *data)
+ +{
+++
+ + struct acpi_processor_performance *acpi_data;
+ + struct cpufreq_frequency_table *freq_table;
+ + unsigned int state_index;
+@@ -121,6 +136,9 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_vids(struct cpufreq_policy *policy, char *buf)
+++ /* display phc's voltage id's
+++ *
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct acpi_processor_performance *acpi_data;
+@@ -129,12 +147,7 @@
+ + unsigned int vid;
+ + ssize_t count = 0;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + acpi_data = data->acpi_data;
+ + freq_table = data->freq_table;
+@@ -149,6 +162,9 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_default_vids(struct cpufreq_policy *policy, char *buf)
+++ /* display acpi's default voltage id's
+++ *
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct cpufreq_frequency_table *freq_table;
+@@ -157,12 +173,7 @@
+ + ssize_t count = 0;
+ + ssize_t retval;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + retval = check_origial_table(data);
+ + if (0 != retval)
+@@ -180,6 +191,9 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_fids(struct cpufreq_policy *policy, char *buf)
+++ /* display phc's frequeny id's
+++ *
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct acpi_processor_performance *acpi_data;
+@@ -188,12 +202,7 @@
+ + unsigned int fid;
+ + ssize_t count = 0;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + acpi_data = data->acpi_data;
+ + freq_table = data->freq_table;
+@@ -208,6 +217,9 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_controls(struct cpufreq_policy *policy, char *buf)
+++ /* display phc's controls for the cpu (frequency id's and related voltage id's)
+++ *
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct acpi_processor_performance *acpi_data;
+@@ -217,12 +229,7 @@
+ + unsigned int vid;
+ + ssize_t count = 0;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + acpi_data = data->acpi_data;
+ + freq_table = data->freq_table;
+@@ -238,6 +245,9 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_default_controls(struct cpufreq_policy *policy, char *buf)
+++ /* display acpi's default controls for the cpu (frequency id's and related voltage id's)
+++ *
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct cpufreq_frequency_table *freq_table;
+@@ -247,12 +257,7 @@
+ + ssize_t count = 0;
+ + ssize_t retval;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + retval = check_origial_table(data);
+ + if (0 != retval)
+@@ -272,6 +277,10 @@
+ +
+ +
+ +static ssize_t store_freq_attr_vids(struct cpufreq_policy *policy, const char *buf, size_t count)
+++ /* store the voltage id's for the related frequency
+++ * We are going to do some sanity checks here to prevent users
+++ * from setting higher voltages than the default one.
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct acpi_processor_performance *acpi_data;
+@@ -286,12 +295,7 @@
+ + char *next_buf;
+ + ssize_t retval;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV; //check if CPU is capable of changing controls
+ +
+ + retval = check_origial_table(data);
+ + if (0 != retval)
+@@ -300,13 +304,15 @@
+ + acpi_data = data->acpi_data;
+ + freq_table = data->freq_table;
+ +
+++ /* for each value taken from the sysfs interfalce (phc_vids) get entrys and convert them to unsigned long integers*/
+ + for (freq_index = 0; freq_table[freq_index].frequency != CPUFREQ_TABLE_END; freq_index++) {
+ + new_vid = simple_strtoul(curr_buf, &next_buf, 10);
+ + if (next_buf == curr_buf) {
+-+ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) {
+++ if ((curr_buf - buf == count - 1) && (*curr_buf == '\n')) { //end of line?
+ + curr_buf++;
+ + break;
+ + }
+++ //if we didn't got end of line but there is nothing more to read something went wrong...
+ + printk("failed to parse vid value at %i (%s)\n", freq_index, curr_buf);
+ + return -EINVAL;
+ + }
+@@ -314,6 +320,10 @@
+ + state_index = freq_table[freq_index].index;
+ + original_control = data->original_controls[state_index];
+ + original_vid = original_control & INTEL_MSR_VID_MASK;
+++
+++ /* before we store the values we do some checks to prevent
+++ * users to set up values higher than the default one
+++ */
+ + if (new_vid <= original_vid) {
+ + new_control = (original_control & ~INTEL_MSR_VID_MASK) | new_vid;
+ + dprintk("setting control at %i to %x (default is %x)\n",
+@@ -326,12 +336,16 @@
+ + }
+ +
+ + curr_buf = next_buf;
+++ /* jump over value seperators (space or comma).
+++ * There could be more than one space or comma character
+++ * to separate two values so we better do it using a loop.
+++ */
+ + while ((curr_buf - buf < count) && ((*curr_buf == ' ') || (*curr_buf == ','))) {
+ + curr_buf++;
+ + }
+ + }
+ +
+-+ /* set new voltage at current frequency */
+++ /* set new voltage for current frequency */
+ + data->resume = 1;
+ + acpi_cpufreq_target(policy, get_cur_freq_on_cpu(policy->cpu), CPUFREQ_RELATION_L);
+ +
+@@ -339,6 +353,10 @@
+ +}
+ +
+ +static ssize_t store_freq_attr_controls(struct cpufreq_policy *policy, const char *buf, size_t count)
+++ /* store the controls (frequency id's and related voltage id's)
+++ * We are going to do some sanity checks here to prevent users
+++ * from setting higher voltages than the default one.
+++ */
+ +{
+ + struct acpi_cpufreq_data *data = per_cpu(drv_data, policy->cpu);
+ + struct acpi_processor_performance *acpi_data;
+@@ -358,12 +376,7 @@
+ + unsigned int new_control;
+ + int found;
+ +
+-+ if (unlikely(data == NULL ||
+-+ data->acpi_data == NULL ||
+-+ data->freq_table == NULL ||
+-+ data->cpu_feature != SYSTEM_INTEL_MSR_CAPABLE)) {
+-+ return -ENODEV;
+-+ }
+++ if (!check_cpu_control_capability(data)) return -ENODEV;
+ +
+ + retval = check_origial_table(data);
+ + if (0 != retval)
+@@ -466,14 +479,19 @@
+ +}
+ +
+ +static ssize_t show_freq_attr_phc_version(struct cpufreq_policy *policy, char *buf)
+++ /* print out the phc version string set at the beginning of that file
+++ */
+ +{
+ + ssize_t count = 0;
+ + count += sprintf(&buf[count], "%s\n", PHC_VERSION_STRING);
+ + return count;
+ +}
+ +
+++
+++
+ +static struct freq_attr cpufreq_freq_attr_phc_version =
+ +{
+++ /*display phc's version string*/
+ + .attr = { .name = "phc_version", .mode = 0444, .owner = THIS_MODULE },
+ + .show = show_freq_attr_phc_version,
+ + .store = NULL,
+@@ -481,6 +499,7 @@
+ +
+ +static struct freq_attr cpufreq_freq_attr_vids =
+ +{
+++ /*display phc's voltage id's for the cpu*/
+ + .attr = { .name = "phc_vids", .mode = 0644, .owner = THIS_MODULE },
+ + .show = show_freq_attr_vids,
+ + .store = store_freq_attr_vids,
+@@ -488,6 +507,7 @@
+ +
+ +static struct freq_attr cpufreq_freq_attr_default_vids =
+ +{
+++ /*display acpi's default frequency id's for the cpu*/
+ + .attr = { .name = "phc_default_vids", .mode = 0444, .owner = THIS_MODULE },
+ + .show = show_freq_attr_default_vids,
+ + .store = NULL,
+@@ -495,6 +515,7 @@
+ +
+ +static struct freq_attr cpufreq_freq_attr_fids =
+ +{
+++ /*display phc's default frequency id's for the cpu*/
+ + .attr = { .name = "phc_fids", .mode = 0444, .owner = THIS_MODULE },
+ + .show = show_freq_attr_fids,
+ + .store = NULL,
+@@ -502,6 +523,7 @@
+ +
+ +static struct freq_attr cpufreq_freq_attr_controls =
+ +{
+++ /*display phc's current voltage/frequency controls for the cpu*/
+ + .attr = { .name = "phc_controls", .mode = 0644, .owner = THIS_MODULE },
+ + .show = show_freq_attr_controls,
+ + .store = store_freq_attr_controls,
+@@ -509,6 +531,7 @@
+ +
+ +static struct freq_attr cpufreq_freq_attr_default_controls =
+ +{
+++ /*display acpi's default voltage/frequency controls for the cpu*/
+ + .attr = { .name = "phc_default_controls", .mode = 0444, .owner = THIS_MODULE },
+ + .show = show_freq_attr_default_controls,
+ + .store = NULL,
+@@ -516,8 +539,9 @@
+ +
+ +
+ static struct freq_attr *acpi_cpufreq_attr[] = {
++- &cpufreq_freq_attr_scaling_available_freqs,
+ + &cpufreq_freq_attr_phc_version,
+- &cpufreq_freq_attr_scaling_available_freqs,
+++ &cpufreq_freq_attr_scaling_available_freqs,
+ + &cpufreq_freq_attr_vids,
+ + &cpufreq_freq_attr_default_vids,
+ + &cpufreq_freq_attr_fids,
diff --git a/sys-kernel/alix-sources/files/wt-patchs-suffix.diff b/sys-kernel/alix-sources/files/wt-patchs-suffix.diff
new file mode 100644
index 00000000..28fb9e4e
--- /dev/null
+++ b/sys-kernel/alix-sources/files/wt-patchs-suffix.diff
@@ -0,0 +1,11 @@
+--- tools/create-links.ori 2011-06-15 15:30:09.572365270 +0200
++++ tools/create-links 2011-06-15 15:30:16.777401659 +0200
+@@ -29,7 +29,7 @@
+ INC=$[INC+1]
+ # NAME=$(printf "%d%02d-%s-%s" $SERIES $INC $BASEVER $PATCH)
+ NAME=$(printf "%d%02d-%s" $SERIES $INC $PATCH)
+- ln -s ../pool/$PATCH numbered/$NAME
++ ln -s ../pool/$PATCH numbered/$NAME.diff
+ ;;
+ esac
+ done