Ozan Çağlayan [Tue, 14 Aug 2012 16:20:25 +0000 (19:20 +0300)]
compat: Backport __wake_up_all_locked()
This backports:
commit
63b2001169e75cd71e917ec953fdab572e3f944a
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Thu Dec 1 00:04:00 2011 +0100
sched/wait: Add __wake_up_all_locked() API
$ git describe --contains
63b2001169e75cd71e917ec953fdab572e3f944a
v3.4-rc1~3^2~24
This is used by the 3.6-rcX radeon DRM driver (radeon_sa.c) and will
probably be used by other drivers in the near future.
__wake_up_all_locked() is a preprocessor macro around __wake_up_locked()
which gained a 3rd parameter in 3.4.
That's why I backported the new __wake_up_locked() as
compat_wake_up_locked() to avoid name conflicts.
This new function uses the internal __wake_up_common() function
which needed a backport too. I backported it as
compat_wake_up_common() as __wake_up_common() was made available
in kernels between 2.6.28 <= x <= 2.6.30 through wait.h and
dropped after 2.6.30. Renaming fixes build problems of compat
for those kernels.
Trying kernel 3.5.0-030500-generic [OK]
Trying kernel 3.4.4-030404-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Ozan Çağlayan [Tue, 14 Aug 2012 09:06:04 +0000 (12:06 +0300)]
compat: Drop redundant udev rules file
udev rules for Ubuntu and the-rest-of-world are the same. Drop one of
them and use the other one.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Mon, 13 Aug 2012 19:59:01 +0000 (21:59 +0200)]
compat: add tty_{un}lock() for kernel < 3.7
The change of tty_{un}lock() in kernel 3.5 was reverted, but now it was
added again for kernel 3.7.
This patch does the needed changes to backport this commit:
commit
89c8d91e31f267703e365593f6bfebb9f6d2ad01
Author: Alan Cox <alan@linux.intel.com>
Date: Wed Aug 8 16:30:13 2012 +0100
tty: localise the lock
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Sat, 11 Aug 2012 00:30:07 +0000 (02:30 +0200)]
compat: move RHEL mask for qdisc_cb_private_validate
Move the mask for qdisc_cb_private_validate directly in front of the
function to it is only included when this function is really used from
compat.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Sat, 11 Aug 2012 00:30:06 +0000 (02:30 +0200)]
compat: fix mod_delayed_work
* Add return value to function
* make EXPORT_SYMBOL_GPL work by including the needed header file
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Sat, 11 Aug 2012 00:30:05 +0000 (02:30 +0200)]
compat: generate CONFIG_COMPAT_KERNEL_3_7
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Hauke Mehrtens [Sat, 11 Aug 2012 00:30:04 +0000 (02:30 +0200)]
compat: fix SIMPLE_DEV_PM_OPS() on kernel 2.6.29
This patch reworks this commit:
commit
8e661d67b1965afcfd9d3672803e2fc37765f6ef
Author: Johannes Berg <johannes.berg@intel.com>
Date: Thu Aug 2 22:15:05 2012 +0200
compat: handle pci suspend/resume on kernel 2.6.29
The functions for pci suspend and resume are now created by
compat_pci_suspend and compat_pci_resume and then used by
SIMPLE_DEV_PM_OPS. This way attributes like static, const and so on are
forwarded in the struct dev_pm_ops define on all kernel versions.
In addition this patch adds an own SIMPLE_DEV_PM_OPS() for kernel
2.6.32 overwriting the original, because in kernel 2.6.32 const is
needed for struct dev_pm_ops in pci drivers.
This is based on work done by Johannes Berg.
CC: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Andy Gospodreak [Fri, 10 Aug 2012 20:57:16 +0000 (16:57 -0400)]
compat: fixup error in no_printk definition
What initially looked like a valid definition for the #define for
no_printk was not. This corrects the problem and the change that was
thought to correct it.
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Fri, 10 Aug 2012 01:24:54 +0000 (18:24 -0700)]
compat: backport mod_delayed_work() usage instead of cancel + queue
The patch below is backported by using cancel_delayed_work()
followed by mod_delayed_work(). mod_delayed_work() will be
introduced on v3.7, so we add this backport onto the 3.7
backport files.
The commit that inroduced mod_delayed_work():
mcgrof@frijol ~/linux-next (git::master)$ git describe --contains
8376fe22
next-
20120809~16^2~2
The reason we are backporting this:
commit
7adf612cacb5d49778201eb06cc54281570eeb21
Author: Tejun Heo <tj@kernel.org>
Date: Fri Aug 3 10:30:47 2012 -0700
workqueue: use mod_delayed_work() instead of cancel + queue
Convert delayed_work users doing cancel_delayed_work() followed by
queue_delayed_work() to mod_delayed_work().
Most conversions are straight-forward. Ones worth mentioning are,
* drivers/edac/edac_mc.c: edac_mc_workq_setup() converted to always
use mod_delayed_work() and cancel loop in
edac_mc_reset_delay_period() is dropped.
* drivers/platform/x86/thinkpad_acpi.c: No need to remember whether
watchdog is active or not. @fan_watchdog_active and related code
dropped.
* drivers/power/charger-manager.c: Seemingly a lot of
delayed_work_pending() abuse going on here.
[delayed_]work_pending() are unsynchronized and racy when used like
this. I converted one instance in fullbatt_handler(). Please
conver the rest so that it invokes workqueue APIs for the intended
target state rather than trying to game work item pending state
transitions. e.g. if timer should be modified - call
mod_delayed_work(), canceled - call cancel_delayed_work[_sync]().
* drivers/thermal/thermal_sys.c: thermal_zone_device_set_polling()
simplified. Note that round_jiffies() calls in this function are
meaningless. round_jiffies() work on absolute jiffies not delta
delay used by delayed_work.
v2: Tomi pointed out that __cancel_delayed_work() users can't be
safely converted to mod_delayed_work(). They could be calling it
from irq context and if that happens while delayed_work_timer_fn()
is running, it could deadlock. __cancel_delayed_work() users are
dropped.
Signed-off-by: Tejun Heo <tj@kernel.org>
Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br>
Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Acked-by: Anton Vorontsov <cbouatmailru@gmail.com>
Cc: Tomi Valkeinen <tomi.valkeinen@ti.com>
Cc: Jens Axboe <axboe@kernel.dk>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: Doug Thompson <dougthompson@xmission.com>
Cc: David Airlie <airlied@linux.ie>
Cc: Roland Dreier <roland@kernel.org>
Cc: "John W. Linville" <linville@tuxdriver.com>
Cc: Zhang Rui <rui.zhang@intel.com>
Cc: Len Brown <len.brown@intel.com>
Cc: David Howells <dhowells@redhat.com>
Cc: "J. Bruce Fields" <bfields@fieldses.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
mcgrof@garbanzo ~/compat (git::master)$ gcc --version
gcc (Debian 4.7.1-2) 4.7.1
Copyright (C) 2012 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
mcgrof@garbanzo ~/compat (git::master)$ ckmake
Trying kernel 3.5.0-030500-generic [OK]
Trying kernel 3.4.4-030404-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Fri, 10 Aug 2012 01:23:25 +0000 (18:23 -0700)]
compat: fix no_printk() definition
The definition was supposed to define compat_no_prinkt()
given that RHEL already defines no_printk().
Reported-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Fri, 10 Aug 2012 01:21:25 +0000 (18:21 -0700)]
compat: remove autoconf inclusion on compat-2.6.33.c
The inclusion of the appropriate kernel for autoconf
varies depending on the Linux kernel version used.
This magic is already dealt for us on compat-2.6.h and
since all files include that we don't need to be including
this header file.
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Ozan Çağlayan [Thu, 9 Aug 2012 12:52:23 +0000 (15:52 +0300)]
compat: Drop glibc 2.14 warning
This is not the case anymore as we rebuild the binaries.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@do-not-panic.com>
Luis R. Rodriguez [Thu, 9 Aug 2012 09:00:39 +0000 (02:00 -0700)]
compat: typo fixes for bin/get-compat-kernels
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Andy Gospodarek [Thu, 9 Aug 2012 04:40:15 +0000 (00:40 -0400)]
compat: support RHEL6.3 as a build target
This patch allows me to compile and load the latest compat modules on
RHEL6.3. Users of compat on RHEL6 should note that you should set
CONFIG_COMPAT_KFIFO=n as those bits are not needed at all.
These changes seem to pass built-in tests on my system:
# ./bin/ckmake
Trying kernel 3.5.0-030500-generic [OK]
Trying kernel 3.4.4-030404-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Andy Gospodarek <andy@greyhouse.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 9 Aug 2012 03:22:24 +0000 (20:22 -0700)]
compat: fix glibc >= 2.14 requirement
This project uses the vanilla kernels from the Ubuntu
vanilla kernel PPA. As of >= v3.4 vanilla kernel releases,
there are a few files which are binary in the kernel
headers which are linked with dynamic libraries. Of interest
to us here are the ones required to build external modules.
An example:
/lib/modules/3.4.4-030404-generic/build/scripts/genksyms/genksyms
The folks building these packages are using a glibc >= 2.14 and
although the *only* symbol I see being required from glibc >= 2.14
being memcpy():
mcgrof@garbanzo ~/compat (git::master)$ objdump -T
/home/mcgrof/compat-ksrc/lib/modules/3.4.4-030404-generic/build/scripts/genksyms/genksyms
/home/mcgrof/compat-ksrc/lib/modules/3.4.4-030404-generic/build/scripts/genksyms/genksyms:
file format elf64-x86-64
DYNAMIC SYMBOL TABLE:
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.3.4 __snprintf_chk
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 free
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.3.4 __vfprintf_chk
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 __errno_location
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 ferror
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 isatty
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fread
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fclose
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 strlen
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.4 __stack_chk_fail
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 getopt_long
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 strchr
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 _IO_putc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fputs
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fgetc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fputc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 __strdup
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 __libc_start_main
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 strcmp
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 feof
0000000000000000 w D *UND*
0000000000000000 __gmon_start__
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 strtol
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 clearerr
Bleh:
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.14 memcpy
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fileno
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 malloc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 _IO_getc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 ungetc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 realloc
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.3.4 __printf_chk
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fopen
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 perror
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 exit
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.2.5 fwrite
0000000000000000 DF *UND*
0000000000000000 GLIBC_2.3.4 __fprintf_chk
000000000060b160 g DO .bss
0000000000000008 GLIBC_2.2.5 stdout
000000000060b168 g DO .bss
0000000000000008 GLIBC_2.2.5 stdin
000000000060b178 g DO .bss
0000000000000008 GLIBC_2.2.5 stderr
000000000060b170 g DO .bss
0000000000000008 GLIBC_2.2.5 optarg
As proposed by Ozan we fix this by re-building some of the required
binaries under scripts/ to build external modules.
For details see:
https://lkml.org/lkml/2012/8/7/489
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Johannes Berg [Sun, 5 Aug 2012 10:29:41 +0000 (12:29 +0200)]
compat: deal with backported codel
Some distro kernels (in particular the Debian 3.2.0-3
kernel I'm running) backport codel already, so trying
to backport it again causes issues. Protect the compat
backport with #ifdef TCA_CODEL_MAX.
Also link the flow_dissector code into the codel module
which then won't be loaded on kernels that already have
codel backported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 7 Aug 2012 06:23:31 +0000 (23:23 -0700)]
compat: revert
3da0495c compat_flush_scheduled_work "fix"
This revert:
commit
3da0495cf863288b6798e121ccf93c4453c6c768
Author: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Date: Fri Jul 13 10:38:34 2012 +0200
compat: fix system crash on 2.6.35 when flushing work
Ubuntu 10.10 stock kernel (2.6.35-22-generic) crashes in
compat_flush_scheduled_work(), that is called e.g. when
mac80211 module is unloaded.
The problem was introduced with
80bf8a83
compat: backport system work queues system_wq and system_long_wq
The crash happens in compat_flush_scheduled_work() where both
flush_workqueue() and flush_scheduled_work() are called successively.
Removing one of them resolves the issue.
All compat-wireless tarballs after 2012-03-18 are affected.
Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Turns out the real issue was the recursive call to
compat_flush_scheduled_work().
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Mon, 6 Aug 2012 22:36:21 +0000 (00:36 +0200)]
compat: add include/linux/olpc-ec.h
The libertas driver now needs this include file.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Mon, 6 Aug 2012 22:36:20 +0000 (00:36 +0200)]
compat: fix undef syntax
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 6 Aug 2012 21:14:52 +0000 (14:14 -0700)]
Revert "Some distro kernels (in particular the Debian 3.2.0-3"
This reverts commit
0ab0e31955e0016a4048724f794e8994ed4eec07.
Johannes Berg [Sun, 5 Aug 2012 10:29:41 +0000 (12:29 +0200)]
Some distro kernels (in particular the Debian 3.2.0-3
kernel I'm running) backport codel already, so trying
to backport it again causes issues. Protect the compat
backport with #ifdef TCA_CODEL_MAX.
Also link the flow_dissector code into the codel module
which then won't be loaded on kernels that already have
codel backported.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 6 Aug 2012 13:36:18 +0000 (16:36 +0300)]
compat: Backport kmalloc_array()
The new radeon DRM driver from 3.6 uses kmalloc_array().
This backports:
commit
a8203725dfded5c1f79dca3368a4a273e24b59bb
Author: Xi Wang <xi.wang@gmail.com>
Date: Mon Mar 5 15:14:41 2012 -0800
slab: introduce kmalloc_array()
[root@ozan linux-2.6]# git describe --contains
a8203725
v3.4-rc1~56^2~1
Trying kernel 3.5.0-030500-generic [OK]
Trying kernel 3.4.4-030404-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 6 Aug 2012 11:06:33 +0000 (14:06 +0300)]
compat: backport PCIe register definitions
New DRM core in 3.6 needs these in order to detect the maximum
link speed of the underlying bus.
This backports:
commit
cdcac9cd7741af2c2b9255cbf060f772596907bb
Author: Dave Airlie <airlied@redhat.com>
Date: Wed Jun 27 08:35:52 2012 +0100
pci_regs: define LNKSTA2 pcie cap + bits.
We need these for detecting the max link speed for drm drivers.
Acked-by: Bjorn Helgaas <bhelgass@google.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
[root@ozan linux-2.6]# git describe --contains
cdcac9cd
v3.6-rc1~83^2~26
Trying kernel 3.5.0-030500-generic [OK]
Trying kernel 3.4.4-030404-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Johannes Berg [Thu, 2 Aug 2012 20:15:05 +0000 (22:15 +0200)]
compat: handle pci suspend/resume on kernel 2.6.29
Before kernel 2.6.29, we use compat_pci_{suspend,resume}
and not the SIMPLE_DEV_PM_OPS, which include the code for
PCI device handling. For 2.6.30 and higher, the core PCI
code includes the device handling.
That leaves 2.6.29 as the odd one out and causes suspend
and resume to fail. Fix it by including the PCI device
handling code in the definition of SIMPLE_DEV_PM_OPS for
that kernel version.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Thu, 2 Aug 2012 16:28:01 +0000 (18:28 +0200)]
compat: fix endless recursion in flush_scheduled_work
The hader file defines flush_scheduled_work(a)
compat_flush_scheduled_work(a), which causes flush_scheduled_work() and
compat_flush_scheduled_work() to be the same function.
With this patch it calls the actual function in the kernel.
This fixes problems when unloading mac80211 from compat-wireless.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Thu, 2 Aug 2012 16:28:00 +0000 (18:28 +0200)]
compat: remove backport of irq_modify_status
Only kernel >= 2.6.39 irq_to_desc or irq_desc are exporting, so that
compat is not able to access this on the kernel versions where it is
needed. irq_to_desc and irq_desc are defined in the header files so
compilation works, but the module is not loadable because of the
missing exported symbol which make compat unusable on all these kernel
versions. Remove this function, no driver seams to need it.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Wed, 1 Aug 2012 23:05:24 +0000 (01:05 +0200)]
compat: add sk_wmem_alloc_get and sk_has_allocations
These functions are copied from the kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Wed, 1 Aug 2012 23:05:23 +0000 (01:05 +0200)]
compat: add sk_entry
This function is copied from the kernel.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Wed, 1 Aug 2012 23:05:22 +0000 (01:05 +0200)]
compat: add seq_hlist_next and seq_hlist_start_head
These functions are copied from the kernel and are needed by
net/bluetooth/af_bluetooth.c
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Wed, 25 Jul 2012 16:44:23 +0000 (09:44 -0700)]
compat: backport ndo_get_stats64 addition
The net_device_ops data structure gets a new ndo_get_stats64
callback through two patches. For newer kernels that actually do
have the net_device_ops data structure we have no other option
but to #ifdef that code. For older kernels that do not have the
net_device_ops we stuff the new callback into this compat
module / header files and make netdev_attach_ops() ignore it.
And again -- for newer kernels just #ifdef that stuff out.
This is an example of a complex data structure series of
changes through different sets of collateral evolutions.
If we can figure out a way to not requre #ifdef changes
for *newer* kernels that *do* have the net_device_ops it
would be great. One way to likely accomplish this is to
redefine the net_device_ops data structure through a define
for all kernels and make it out own and in our own
netdev_attach_ops() routine handle the differences.
If this would be possible (needs to be proven but I think
Ozan has already proven this) I'm hopeful we'll eventually
be able to replace net_device_ops() collateral evolutions with
0 lines required to be changed on upstream code!
There are two patches that added ndo_get_stats64, fortunately
both were implemented during the 2.6.36 deveopment cycle.
mcgrof@tux ~/linux-next (git::master)$ git describe --contains
be1f3c2c
v2.6.36-rc1~571^2~600
mcgrof@tux ~/linux-next (git::master)$ git describe --contains
28172739
v2.6.36-rc1~571^2~334
commit
be1f3c2c027cc5ad735df6a45a542ed1db7ec48b
Author: Ben Hutchings <bhutchings@solarflare.com>
Date: Tue Jun 8 07:19:54 2010 +0000
net: Enable 64-bit net device statistics on 32-bit architectures
Use struct rtnl_link_stats64 as the statistics structure.
On 32-bit architectures, insert 32 bits of padding after/before each
field of struct net_device_stats to make its layout compatible with
struct rtnl_link_stats64. Add an anonymous union in net_device; move
stats into the union and add struct rtnl_link_stats64 stats64.
Add net_device_ops::ndo_get_stats64, implementations of which will
return a pointer to struct rtnl_link_stats64. Drivers that implement
this operation must not update the structure asynchronously.
Change dev_get_stats() to call ndo_get_stats64 if available, and to
return a pointer to struct rtnl_link_stats64. Change callers of
dev_get_stats() accordingly.
Signed-off-by: Ben Hutchings <bhutchings@solarflare.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
commit
28172739f0a276eb8d6ca917b3974c2edb036da3
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Wed Jul 7 14:58:56 2010 -0700
net: fix 64 bit counters on 32 bit arches
There is a small possibility that a reader gets incorrect values on 32
bit arches. SNMP applications could catch incorrect counters when a
32bit high part is changed by another stats consumer/provider.
One way to solve this is to add a rtnl_link_stats64 param to all
ndo_get_stats64() methods, and also add such a parameter to
dev_get_stats().
Rule is that we are not allowed to use dev->stats64 as a temporary
storage for 64bit stats, but a caller provided area (usually on stack)
Old drivers (only providing get_stats() method) need no changes.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 24 Jul 2012 23:21:45 +0000 (16:21 -0700)]
compat: backport u64_stats_sync
This was added as of v2.6.36. This is just a set of static inlines
we we can easily backport this for older kernels. For newer kernels
we just ignore this and include the respective kernel's header.
mcgrof@tux ~/linux-next (git::master)$ git describe --contains \
16b8a4761cbe5082cd35641c066d7c4b6b83cdca
v2.6.36-rc1~571^2~512
commit
16b8a4761cbe5082cd35641c066d7c4b6b83cdca
Author: Eric Dumazet <eric.dumazet@gmail.com>
Date: Tue Jun 22 10:22:17 2010 -0700
net: Introduce u64_stats_sync infrastructure
To properly implement 64bits network statistics on 32bit or 64bit hosts,
we provide one new type and four methods, to ease conversions.
Stats producer should use following template granted it already got an
exclusive access to counters (include/linux/u64_stats_sync.h contains
some documentation about details)
u64_stats_update_begin(&stats->syncp);
stats->bytes64 += len;
stats->packets64++;
u64_stats_update_end(&stats->syncp);
While a consumer should use following template to get consistent
snapshot :
u64 tbytes, tpackets;
unsigned int start;
do {
start = u64_stats_fetch_begin(&stats->syncp);
tbytes = stats->bytes64;
tpackets = stats->packets64;
} while (u64_stats_fetch_retry(&stats->lock, syncp));
Suggested by David Miller, and comments courtesy of Nick Piggin.
Signed-off-by: Eric Dumazet <eric.dumazet@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Sun, 22 Jul 2012 10:39:11 +0000 (13:39 +0300)]
compat: Add 3.5 to the list of kernels
Add 3.5 to the list of kernels in bin/get-compat-kernels.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 20 Jul 2012 19:23:52 +0000 (12:23 -0700)]
compat: backport irq_set_status_flags() and irq_clear_status_flags()
This further backports this patch:
commit
442471848f5abb55b99cba1229301655f67492b4
Author: Thomas Gleixner <tglx@linutronix.de>
Date: Tue Sep 28 10:40:18 2010 +0200
genirq: Provide status modifier
Provide a irq_desc.status modifier function to cleanup the direct
access to irq_desc in arch and driver code.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
The reason is that although irq_modify_status() was
backported the commit ee9c8a:
commit
ee9c8a04666ba15762f736f9030e6e8df02ca1a5
Author: Grazvydas Ignotas <notasas@gmail.com>
Date: Fri May 18 03:04:08 2012 +0300
wl1251: fix oops on early interrupt
commit
f380f2c4a12e913356bd49f8790ec1063c4fe9f8 upstream.
This driver disables interrupt just after requesting it and enables it
later, after interface is up. However currently there is a time window
between request_irq() and disable_irq() where if interrupt arrives, the
driver oopses because it's not yet ready to process it. This can be
reproduced by inserting the module, associating and removing the module
multiple times.
Eliminate this race by setting IRQF_NOAUTOEN flag before request_irq().
Signed-off-by: Grazvydas Ignotas <notasas@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
was backported and merged into v3.4.6 therefore requiring these
set of calls onto older kernels as well. This should be merged
into the compat linux-3.4.y branch so that a respective
compat-wireless based on v3.4.6 can be made.
mcgrof@tux ~/compat (git::master)$ ckmake -t
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
real 2m28.330s
user 4m28.170s
sys 0m47.580s
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 20 Jul 2012 03:35:53 +0000 (20:35 -0700)]
compat: backport irq_modify_status()
irq_modify_status() was added as of
44247184
mcgrof@tux ~/linux-next (git::master)$ git describe --contains
44247184
v2.6.37-rc1~191^2~72
This backported implementation of irq_modify_status()
however requires a bit of hacking, namely we need to use
the old spin_lock_irqsave() instead of the new
raw_spin_unlock_irqrestore() -- but given that the
old version was used in older kernels I see no reasons
why implement this with the new one the new one just
does some typechecking. If someone wants to optimize
this further -- be my guest. The irq_to_desc() call
was also not available on older kernels so we provide
a local translation as I see the desc being accessed
on older kernels.
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 20 Jul 2012 01:22:55 +0000 (18:22 -0700)]
compat: backport eth_random_addr()
This really was a rename but to make code simpler just
reimplement this for all kernels.
commit
0a4dd594982a321699000218715e28664ec49169
Author: Joe Perches <joe@perches.com>
Date: Thu Jul 12 19:33:05 2012 +0000
etherdevice: Rename random_ether_addr to eth_random_addr
Add some API symmetry to eth_broadcast_addr and
add a #define to the old name for backward compatibility.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
mcgrof@tux ~/compat (git::master)$ ckmake -t
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
real 4m25.765s
user 9m56.460s
sys 1m24.650s
real 2m7.808s
user 3m20.640s
sys 0m40.520s
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Zefir Kurtisi [Fri, 13 Jul 2012 08:38:34 +0000 (10:38 +0200)]
compat: fix system crash on 2.6.35 when flushing work
Ubuntu 10.10 stock kernel (2.6.35-22-generic) crashes in
compat_flush_scheduled_work(), that is called e.g. when
mac80211 module is unloaded.
The problem was introduced with
80bf8a83
compat: backport system work queues system_wq and system_long_wq
The crash happens in compat_flush_scheduled_work() where both
flush_workqueue() and flush_scheduled_work() are called successively.
Removing one of them resolves the issue.
All compat-wireless tarballs after 2012-03-18 are affected.
Signed-off-by: Zefir Kurtisi <zefir.kurtisi@neratec.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Tue, 17 Jul 2012 12:48:22 +0000 (15:48 +0300)]
compat: Use a bash function to colorify the messages
Declare a prettify() function that takes a color and a message
parameter instead of wrapping every message in the script with
ANSI codes.
Also add a nocolor mode which will be enabled with the -n flag.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 23:58:25 +0000 (16:58 -0700)]
compat: add kernel range support to ckmake
If we want to redistribute kernel compilation accross
a set of build machines ckmake needs to understand which
target kernels we want to work on. This enables kernel
ranges to be passed on to ckmake.
Here's one example, if you use -d it enables debugging
to print the kernel version computation:
mcgrof@tux ~/compat (git::master)$ ckmake -d 2.6.38..3.1
Going to use kernel ranges: 2.6.38..3.1
2.6.38 132646 <= 3.1.10 196864 <= 3.1 196864
2.6.38 132646 <= 3.0.18 196608 <= 3.1 196864
2.6.38 132646 <= 2.6.39 132647 <= 3.1 196864
2.6.38 132646 <= 2.6.38 132646 <= 3.1 196864
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
This should enable us to do compilation on a set of kernels
across a distributed set of machines now.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 21:25:48 +0000 (14:25 -0700)]
compat: update estimates of using get-compat-trees
This is what we will output:
This will typically take ~ 10 minutes, download about
~ 1 GiB of data over your network, and then consume about
~ 2 GiB of hard drive space.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 21:01:55 +0000 (14:01 -0700)]
compat: send which output to /dev/null for bin/get-compat-trees
Minor cosmetic fix on checking if git is installed.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 20:59:05 +0000 (13:59 -0700)]
compat: check if git is installed on get-compat-trees
Bail out if it is not present.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 20:56:24 +0000 (13:56 -0700)]
compat: chmod 755 bin/get-compat-trees
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 16 Jul 2012 20:49:40 +0000 (13:49 -0700)]
compat: add bin/get-compat-trees
While reviewing ideas of optimizing the time to bring
down the compilation time of ckmake from 120 minutes down
to something much smaller we're considering both Big Iron (tm)
and using distcc. Using disticc won't work well unless you
have low latency so the target instead is to build a set of
regional clusters which have low latency to enable targeting
compilation time down by splitting up the number of kernels
each cluster would have to to handle. We'll do this
in three steps:
1) Enable getting compat distcc requirements easily
2) Modify ckmake to enable building only a set of
kernel ranges
3) Build regional cluster for distcc
This patch addresses part of the first objective, to enable
build boxen to easily get the requirements needed.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Wed, 11 Jul 2012 10:26:56 +0000 (13:26 +0300)]
compat: Add ability to run as non-root
get-compat-kernels now extracts the kernel headers into
$HOME/compat-ksrc if the user is not root.
Similarly, ckmake tries first to use $HOME/compat-ksrc if it
exists. If not, it fallbacks to system-wide /usr/src silently.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Tue, 10 Jul 2012 12:13:08 +0000 (15:13 +0300)]
compat: Don't keep 2 URL's per kernel
Generate the filename of ARCH dependent .deb using sed.
This is much more cleaner and less error-prone.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 9 Jul 2012 14:31:53 +0000 (17:31 +0300)]
compat: Don't download ubuntu specific kernel images
The linux-image debs are quite specific to Ubuntu as they will
at least require generating a compliant initramfs before being able
to boot into them both in Ubuntu and in other distributions.
The image installation is also the only part that avoids us from
switching to non-root builds.
Drop this feature completely.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 9 Jul 2012 13:47:03 +0000 (16:47 +0300)]
compat: Directly call perl instead of skip-colors
Since we can now install ckmake with make, drop dependency
on scripts/skip-colors as it is a simple oneliner. Directly
call perl instead of using it.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 21:18:39 +0000 (14:18 -0700)]
compat: warn libc >= 2.14 is required to compile against 3.4.4
Warn when using bin/get-compat-kernels. We could later add
a dynamic distro-agnostic check...
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:55:19 +0000 (13:55 -0700)]
compat: compute approx space used dynamically for bin/get-compat-kernels
This assumes about ~ 101 MiB of space is consumed by each kernel
when we uncompress the kernel headers under /usr/src/ and /lib/modules/.
It also assumes each kernel requires two deb files to be downloaded
locally, each kernel then consuming ~ 13 MiB.
When run this currently displays:
mcgrof@tux ~/compat (git::master)$ ./bin/get-compat-kernels
This will download 21 kernel headers to allow you to
cross compile any module over these kernels with ckmake.
The download payload is about ~ 273 MiB, once uncompressed
it will use sudo to stash kernel header files under /usr/src/ and /lib/modules/
and consume about ~ 2121 MiB of space.
The kernel headers used are from Vanilla kernels
from the Ubuntu mainline / vanilla kernel PPA:
http://kernel.ubuntu.com/~kernel-ppa/mainline/
Do you still want to continue (y/N)?
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:44:51 +0000 (13:44 -0700)]
compat: unify kernel URLs for bin/get-compat-kernels
We're using the same URLs for all Linux distributions now
that we have support to install these through a distribution
agnostic manner. No need to make the URLs part of the routine.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:37:51 +0000 (13:37 -0700)]
compat: fix bin/get-compat-kernels install calls
The installation requires running sudo on other calls.
Fix by adding sudo calls.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:34:15 +0000 (13:34 -0700)]
compat: use a generic install mechanism for bin/get-compat-kernels
The script bin/get-compat-kernels used to behave differently
depending on the Linux distribution used. Remove this junk
given that even on Debian based systems there are "conflicts"
being run into when installing all the kernel headers: a higher
version of libc is being asked for newer kernels. Dump this
stuff and instead use the same mechanism to install the
kernel headers for all Linux distributions.
This uses ar and tar. If ar is not available warn the user
that binutils is required.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:24:28 +0000 (13:24 -0700)]
compat: bin/get-compat-kernels dump deb packages into debs
Don't clutter the home compat base directory.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 20:05:27 +0000 (13:05 -0700)]
compat: add install-ckmake target
Lets users quickly install ckmake onto /usr/bin/
with DESTDIR as an option target directory.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 19:58:37 +0000 (12:58 -0700)]
compat: explain what bin/get-compat-kernels does upon running
This lets the user bail out in case they don't want to do what
the script says it does.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 6 Jul 2012 19:15:07 +0000 (12:15 -0700)]
compat: fix ckmake -t return file
Skip removing the return file early given that
we are running twice. The ret-tmp.txt will now
exist on if ckmake is run without -t but I can't
currently figure out how to properly fix this.
I welcome a proper fix.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Wed, 4 Jul 2012 23:13:36 +0000 (16:13 -0700)]
compat: update the 3.4 PPA kernels
Ubuntu has updated their 3.4 vanilla kernel offerings long ago
from 3.4.0 to 3.4.4. Update the respective URLs on
bin/get-compat-kernels so that new users get this new kernel
release.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Tue, 3 Jul 2012 20:03:38 +0000 (23:03 +0300)]
compat: Backport cpufreq_quick_get_max()
This backports:
commit
3d73710880afa3d61cf57b5d4eb192e812eb7e4f
Author: Jesse Barnes <jbarnes@virtuousgeek.org>
Date: Tue Jun 28 10:59:12 2011 -0700
cpufreq: expose a cpufreq_quick_get_max routine
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 2 Jul 2012 14:22:14 +0000 (17:22 +0300)]
compat: Backport DIV_ROUND_UP_DLL macro
This backports:
commit
36a26c69b4c70396ef569c3452690fba0c1dec08
Author: Nicholas Bellinger <nab@linux-iscsi.org>
Date: Tue Jul 26 00:35:26 2011 -0700
kernel.h: Add DIV_ROUND_UP_ULL and DIV_ROUND_UP_SECTOR_T macro usage
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 2 Jul 2012 14:22:13 +0000 (17:22 +0300)]
compat: Backport i2c_bit_algo structure
This backports all the necessary helpers for being able to export
i2c-bit_algo structure.
This is currently only used by drivers/gpu/drm/i915/intel_i2c.c.
This is only enabled for kernels >= 2.6.34.
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 2 Jul 2012 14:22:12 +0000 (17:22 +0300)]
compat: Define I2C_FUNC_NOSTART
This backports:
commit
14674e70119ea01549ce593d8901a797f8a90f74
Author: Mark Brown <broonie@opensource.wolfsonmicro.com>
Date: Wed May 30 10:55:34 2012 +0200
i2c: Split I2C_M_NOSTART support out of I2C_FUNC_PROTOCOL_MANGLING
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 2 Jul 2012 14:22:11 +0000 (17:22 +0300)]
compat: Backport shmem_read_mapping_page()
This backports:
commit
d9d90e5eb70e09903dadff42099b6c948f814050
Author: Hugh Dickins <hughd@google.com>
Date: Mon Jun 27 16:18:04 2011 -0700
tmpfs: add shmem_read_mapping_page_gfp
shmem_read_mapping_page() is a wrapper around
shmem_read_mapping_page_gfp().
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 2 Jul 2012 14:22:10 +0000 (17:22 +0300)]
compat: Make use of the vga_switcheroo_register_client
If kernel version is older than 3.5, call vga_switcheroo_register_client
with the old parameters using a compat_ wrapper.
.reprobe was added in 2.6.38 so before that do not pass it to the
underlying vga_switcheroo_register_client() function.
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 29 Jun 2012 20:40:15 +0000 (13:40 -0700)]
compat: backport definition of NLMSG_DEFAULT_SIZE
This backports the definition of NLMSG_DEFAULT_SIZE
defined in this commit:
commit
58050fce3530939372e6c2f4b4beb76fcb4caa65
Author: Thomas Graf <tgraf@suug.ch>
Date: Thu Jun 28 03:57:45 2012 +0000
net: Use NLMSG_DEFAULT_SIZE in combination with nlmsg_new()
Using NLMSG_GOODSIZE results in multiple pages being used as
nlmsg_new() will automatically add the size of the netlink
header to the payload thus exceeding the page limit.
NLMSG_DEFAULT_SIZE takes this into account.
Signed-off-by: Thomas Graf <tgraf@suug.ch>
Cc: Jiri Pirko <jpirko@redhat.com>
Cc: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
Cc: Sergey Lapin <slapin@ossfans.org>
Cc: Johannes Berg <johannes@sipsolutions.net>
Cc: Lauro Ramos Venancio <lauro.venancio@openbossa.org>
Cc: Aloisio Almeida Jr <aloisio.almeida@openbossa.org>
Cc: Samuel Ortiz <sameo@linux.intel.com>
Reviewed-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 29 Jun 2012 18:31:07 +0000 (11:31 -0700)]
compat: fix error propagation on ckmake
Bash was not doing what was expected... You can now rely
on ckmake returning a non 0 value if a build fails.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 28 Jun 2012 23:48:18 +0000 (16:48 -0700)]
compat: remove unused-but-set-variable
I am getting quite a bit of compile errors with this
option enabled right now. This forces a compile error
when a warning is found... lets skip that for our
releases.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 25 Jun 2012 10:08:32 +0000 (13:08 +0300)]
compat: Define include guard for vga_switcheroo.h
The check is missing in upstream. Patch sent but until this gets
merged, define it in compat tree for fixing compat-drm builds.
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 28 Jun 2012 18:48:29 +0000 (11:48 -0700)]
compat: backport rename of led_brightness_set() to led_set_brightness()
This backports this commit from linux-next:
commit
959d62fa865d2e616b61a509e1cc5b88741f065e
Author: Shuah Khan <shuahkhan@gmail.com>
Date: Thu Jun 14 04:34:30 2012 +0800
leds: Rename led_brightness_set() to led_set_brightness()
Rename leds external interface led_brightness_set() to led_set_brightness().
This is the second phase of the change to reduce confusion between the
leds internal and external interfaces that set brightness. With this change,
now the external interface is led_set_brightness(). The first phase renamed
the internal interface led_set_brightness() to __led_set_brightness().
There are no changes to the interface implementations.
Signed-off-by: Shuah Khan <shuahkhan@gmail.com>
Signed-off-by: Bryan Wu <bryan.wu@canonical.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 14 Jun 2012 22:28:54 +0000 (15:28 -0700)]
compat: improve ckmake to add short report
A short report is added now at the end of the cmake.log
and also a new file ckmake-report.log if you want only
the short summary. Tabs are now broken on the report
but I prefer this over not having this short report.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Thu, 14 Jun 2012 17:52:46 +0000 (20:52 +0300)]
compat: Backport fault_in_multipages_{writeable,readable}
This backports:
commit
f56f821feb7b36223f309e0ec05986bb137ce418
Author: Daniel Vetter <daniel.vetter@ffwll.ch>
Date: Sun Mar 25 19:47:41 2012 +0200
mm: extend prefault helpers to fault in more than PAGE_SIZE
The new functions are used by drm/i915 driver.
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Thu, 14 Jun 2012 17:52:45 +0000 (20:52 +0300)]
compat: Fix cosmetic typo in compat-3.4.c
compat-3.4.c is for kernel version 3.4 not 3.5.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Thu, 14 Jun 2012 17:52:44 +0000 (20:52 +0300)]
compat: Backport vga_switcheroo_client_ops
This backports:
From
26ec685ff9d9c16525d8ec4c97e52fcdb187b302 Mon Sep 17 00:00:00
From: Takashi Iwai <tiwai@suse.de>
Date: Fri, 11 May 2012 07:51:17 +0200
Subject: [PATCH] vga_switcheroo: Introduce struct vga_switcheroo_client_ops
only for kernels >= 2.6.34 in which vga_switcheroo is available.
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Wed, 13 Jun 2012 02:23:38 +0000 (19:23 -0700)]
compat: add SDIO_CCCR_REV_3_00 and SDIO_SDIO_REV_3_00
This backports:
commit
b4625dab2c618eb87e177761dda3182b4cfaa604
Author: Bing Zhao <bzhao@marvell.com>
Date: Thu Oct 20 19:16:32 2011 -0700
mmc: recognise SDIO cards with SDIO_CCCR_REV 3.00
Table 6-2: CCCR bit Definitions, address 00h. Part E1 SDIO Simplified
Specification Version 3.00, Feb. 25, 2011.
This patch has been tested with Marvell WLAN device SD8797.
Signed-off-by: Bing Zhao <bzhao@marvell.com>
Signed-off-by: Chris Ball <cjb@laptop.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Tue, 12 Jun 2012 23:00:16 +0000 (02:00 +0300)]
compat: Add SIZE_MAX
This backports:
From
a3860c1c5dd1137db23d7786d284939c5761d517 Mon Sep 17 00:00:00
From: Xi Wang <xi.wang@gmail.com>
Date: Thu, 31 May 2012 16:26:04 -0700
Subject: [PATCH] introduce SIZE_MAX
This is needed by include/drm/drm_mem_util.h
Trying kernel 3.4.0-030400-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 11 Jun 2012 21:46:19 +0000 (00:46 +0300)]
compat: bin/ckmake: Drop Ubuntu check
Don't check for distribution as it is now possible to use ckmake
on every distribution.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 11 Jun 2012 21:45:35 +0000 (00:45 +0300)]
compat: bin/get-compat-kernels: Do not depend on Ubuntu
Use Ubuntu PPA vanilla kernels on other distributions too.
The .deb files are extracted using 'ar' and 'tar'.
Also check if the target directory exists before downloading
the deb files.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Mon, 11 Jun 2012 21:31:55 +0000 (00:31 +0300)]
compat: bin/get-compat-kernels: Update 3.3 and add 3.4 kernels
Ubdate 3.3 kernel to the latest one and add 3.4 kernel.
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Tue, 29 May 2012 22:41:48 +0000 (00:41 +0200)]
compat: add ida_simple_{get,remove}
This is needed by net/bluetooth/hci_core.c
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Tue, 29 May 2012 22:41:47 +0000 (00:41 +0200)]
compat: remove hci_mon.h
compat-wireless should copy this file from the kernel
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Tue, 29 May 2012 22:41:46 +0000 (00:41 +0200)]
comapt: add skb_queue_walk_from
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Hauke Mehrtens [Tue, 29 May 2012 22:41:45 +0000 (00:41 +0200)]
compat: do not include qdisc_cb_private_validate with every kernel
This method got backported into kernel 3.2.9 and 3.0.23. Compat should
not provide it for these kernel versions as it will cause some compile
errors.
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 25 May 2012 02:53:15 +0000 (19:53 -0700)]
compat: backport FQ CoDel support down to 2.6.25
FQ CoDel is available as a module, sch_fq_codel.
This backports:
commit
4b549a2ef4bef9965d97cbd992ba67930cd3e0fe
Author: Eric Dumazet <edumazet@google.com>
Date: Fri May 11 09:30:50 2012 +0000
fq_codel: Fair Queue Codel AQM
Fair Queue Codel packet scheduler
Principles :
- Packets are classified (internal classifier or external) on flows.
- This is a Stochastic model (as we use a hash, several flows might
be hashed on same slot)
- Each flow has a CoDel managed queue.
- Flows are linked onto two (Round Robin) lists,
so that new flows have priority on old ones.
- For a given flow, packets are not reordered (CoDel uses a FIFO)
- head drops only.
- ECN capability is on by default.
- Very low memory footprint (64 bytes per flow)
I should note that this is different than CoDel. This code is GPL,
CoDel is Dual BSD/GPL licensed. This goes only compile tested against
all the below kernels, run time test results would be appreciated.
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 25 May 2012 00:57:17 +0000 (17:57 -0700)]
compat: add FQ CoDel code from upstream
This is taken from next-
20120524. This does not yet
add any backport code to it, not have we integrated
it into the build system. The backport work will be
done next to make the changes more easily visible to
reviewers.
This also adds flow_dissector.c from net/core/ as well,
but we'll backport any changes required next.
Just to be sure, here's the ckmake log:
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 25 May 2012 00:33:39 +0000 (17:33 -0700)]
compat: backport CoDel support down to 2.6.25
This is available as a module called sch_codel.
For details on CoDel see:
http://lwn.net/Articles/496509/
This goes only compile tested against all the below kernels,
run time test results would be appreciated.
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Fri, 25 May 2012 00:31:17 +0000 (17:31 -0700)]
compat: add CoDel upstream code
This just drags in the code and dumps it in place, without
adding it to the build system. We'll add backport support next
to make the changes required more easily visible to reviewers.
Just to be sure, here's the ckmake log result:
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Felix Fietkau [Thu, 24 May 2012 13:29:28 +0000 (15:29 +0200)]
compat: rename compat-3.5.c to compat-3.4.c
It only contains simple_open, which is already available on Linux 3.4.
Fixes duplicate symbol issues on 3.4
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.7-030307-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 17 May 2012 04:03:59 +0000 (21:03 -0700)]
compat: backport net_ratelimited_function()
This backports this patch:
From
3a3bfb61e64476ff1e4ac3122cb6dec9c79b795c Mon Sep 17 00:00:00 2001
From: Joe Perches <joe@perches.com>
Date: Sun, 13 May 2012 21:56:25 +0000
Subject: [PATCH] net: Add net_ratelimited_function and
net_<level>_ratelimited macros
__ratelimit() can be considered an inverted bool test because
it returns true when not ratelimited. Several tests in the
kernel tree use this __ratelimit() function incorrectly.
No net_ratelimit uses are incorrect currently though.
Most uses of net_ratelimit are to log something via printk or
pr_<level>.
In order to minimize the uses of net_ratelimit, and to start
standardizing the code style used for __ratelimit() and net_ratelimit(),
add a net_ratelimited_function() macro and net_<level>_ratelimited()
logging macros similar to pr_<level>_ratelimited that use the global
net_ratelimit instead of a static per call site "struct ratelimit_state".
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 17 May 2012 02:34:58 +0000 (19:34 -0700)]
compat: remove obvious comment upon loading compat
The comment was there to make it clear that upon init
a few routines would be no-ops. This should be obvious
by now.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Thu, 17 May 2012 02:29:24 +0000 (19:29 -0700)]
compat: add COMPAT_BASE tag
I'm going to start adding tags to compat.git. This tag will
also be printed upon loading of the compat module. This is
useful to annotating what release of compat.git was used
exactly.
Moving forward the goal will be to try to add a tag only
once a full version of linux-next.git with a respective
date tag from that release has been addressed for backporting.
Right now the only consumer of compat.git that I am aware of
is compat-wireless (soon to be renamed to compat-drivers) so
what this means in practice is I will only add a tag to
compat.git once ckmake is used to verify compilation against
all supported kernels. This means there are two tasks when
backporting:
* compat.git work
* compat-wireless.git work
The compat.git work will likely be finished first than the
compat-wireless.git work. Older compat.git versions should
work with newer versions of tags from compat-wireless.git,
however, I may still add tags to compat.git to annotate
that that release (even if no changes were made) has also
been used and tested.
Every single release of compat.git and compat-wireless.git
that has a tag means that that tag has been tested with
ckmake to cross compile against all supported kernels.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Eliad Peller [Wed, 16 May 2012 15:28:00 +0000 (18:28 +0300)]
compat: backport IS_ENABLED macro
IS_ENABLED(option) was backported as defined(option), but
because of the indirection, option was evaluated too early,
resulting in #if defined(1) for defined options, which failed
the compilation with the following error:
error: operator "defined" requires an identifier
Backport IS_ENABLED from the current kernel instead.
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Tested-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Ozan Çağlayan [Wed, 16 May 2012 09:55:48 +0000 (12:55 +0300)]
compat: backport ether_addr_equal
This backports:
commit
a599b0f54d233d0f63d6be9a2ff0049d24751669
Author: Joe Perches <joe@perches.com>
Date: Tue May 8 18:56:45 2012 +0000
etherdevice.h: Add ether_addr_equal
Add a boolean function to check if 2 ethernet addresses
are the same.
This is to avoid any confusion about compare_ether_addr
returning an unsigned, and not being able to use the
compare_ether_addr function for sorting ala memcmp.
Signed-off-by: Joe Perches <joe@perches.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
[root@ozzyfedora compat]# bin/ckmake
Trying kernel 3.3.4-5.fc17.x86_64 [OK]
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Tested-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Signed-off-by: Ozan Çağlayan <ozancag@gmail.com>
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 8 May 2012 07:26:43 +0000 (00:26 -0700)]
compat: add tty_lock()
For the lock, I had only backported the tty_unlock..
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 8 May 2012 07:12:55 +0000 (00:12 -0700)]
compat: backport localizing the tty lock
Just undo make the lock generic for older kernels.
This backports:
commit
d29f3ef39be4eec0362b985305fc526d9be318cf
Author: Alan Cox <alan@linux.intel.com>
Date: Thu May 3 22:24:08 2012 +0100
tty_lock: Localise the lock
In each remaining case the tty_lock is associated with a specific tty. This
means we can now lock on a per tty basis. We do need tty_lock_pair() for
the pty case. Uglier but still a step in the right direction.
[fixed up calls in 3 missing drivers - gregkh]
Signed-off-by: Alan Cox <alan@linux.intel.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 8 May 2012 01:47:37 +0000 (18:47 -0700)]
compat: add compat/compat-2.6.34.c
Forgot to add this file from my previous commit.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 7 May 2012 19:54:04 +0000 (12:54 -0700)]
compat: backport sdio power management API
This backports the patch below by simply ignoring support for it
for older kernels.
commit
da68c4eb258cd9f3f0b8aeb7e46b8118bb6358b6
Author: Nicolas Pitre <nico@fluxnic.net>
Date: Fri Mar 5 13:43:31 2010 -0800
sdio: introduce API for special power management features
This patch series provides the core changes needed to allow SDIO cards to
remain powered and active while the host system is suspended, and let them
wake up the host system when needed. This is used to implement
wake-on-lan with SDIO wireless cards at the moment. Patches to add that
support to the libertas driver will be posted separately.
This patch:
Some SDIO cards have the ability to keep on running autonomously when the
host system is suspended, and wake it up when needed. This however
requires that the host controller preserve power to the card, and
configure itself appropriately for wake-up.
There is however 4 layers of abstractions involved: the host controller
driver, the MMC core code, the SDIO card management code, and the actual
SDIO function driver. To make things simple and manageable, host drivers
must advertise their PM capabilities with a feature bitmask, then function
drivers can query and set those features from their suspend method. Then
each layer in the suspend call chain is expected to act upon those bits
accordingly.
[akpm@linux-foundation.org: fix typo in comment]
Signed-off-by: Nicolas Pitre <nico@marvell.com>
Cc: <linux-mmc@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Sat, 5 May 2012 01:00:33 +0000 (18:00 -0700)]
compat: use -s instead of -q
And also fix variable propagation when ckmake -t is used.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Sat, 5 May 2012 00:42:57 +0000 (17:42 -0700)]
compat: add optional target options for ckmake
This also adds -q option to suppress build messages
that succeed, this helps reduce the size of ckmake.log
if you care only about errors or warnings.
In theory this should help build time but I haven't seen
this help yet
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 30 Apr 2012 20:45:27 +0000 (13:45 -0700)]
compat-wireless: propagate errors with ckmake
If compilation failed with any kernel then propagate that error.
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Mon, 30 Apr 2012 20:38:34 +0000 (13:38 -0700)]
compat-wireless: add -t argument for time statistics
Using -t is the equilavent of doing:
time ckmake; time ckmake | egrep "real|user|sys"
This is useful to test compiling accross kernel twice,
once under the assumption that ccache may likely be cleared,
the other with ccache fresh.
This will yield this output:
mcgrof@tux ~/compat (git::master)$ ckmake -t
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
real 1m19.326s
user 1m18.740s
sys 0m22.360s
real 1m18.411s
user 1m15.330s
sys 0m21.960s
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>
Luis R. Rodriguez [Tue, 24 Apr 2012 04:33:30 +0000 (21:33 -0700)]
compat: backport pci_enable_device_mem()
To backport
b718989d correctly which added pci_enable_device_mem()
the routine pcibios_enable_device() is required but we don't
have access to it on modules as its an architecture specific
routine that is not exported and as such only core kernel code
has access to it. We implement a sloppy work around for
backporting this.
mcgrof@tux ~/compat (git::master)$ ckmake
Trying kernel 3.4.0-030400rc1-generic [OK]
Trying kernel 3.3.0-030300rc2-generic [OK]
Trying kernel 3.2.2-030202-generic [OK]
Trying kernel 3.1.10-030110-generic [OK]
Trying kernel 3.0.18-030018-generic [OK]
Trying kernel 2.6.39-
02063904-generic [OK]
Trying kernel 2.6.38-
02063808-generic [OK]
Trying kernel 2.6.37-
02063706-generic [OK]
Trying kernel 2.6.36-
02063604-generic [OK]
Trying kernel 2.6.35-
02063512-generic [OK]
Trying kernel 2.6.34-
02063410-generic [OK]
Trying kernel 2.6.33-
02063305-generic [OK]
Trying kernel 2.6.32-
02063255-generic [OK]
Trying kernel 2.6.31-
02063113-generic [OK]
Trying kernel 2.6.30-
02063010-generic [OK]
Trying kernel 2.6.29-
02062906-generic [OK]
Trying kernel 2.6.28-
02062810-generic [OK]
Trying kernel 2.6.27-020627-generic [OK]
Trying kernel 2.6.26-020626-generic [OK]
Trying kernel 2.6.25-020625-generic [OK]
Trying kernel 2.6.24-020624-generic [OK]
Signed-off-by: Luis R. Rodriguez <mcgrof@frijolero.org>