The Linux Kernel 2.6.32 is reaching its end of life [1] after over 5 years.
Instead it is recommended to use at least kernel 3.2 which is also already
over 3 years old. All older kernels (v2.6.32 - v3.1) should therefore be
dropped to reduce the test time. The amount of tested kernels jumps down
from 33 kernels to 20.

[1] https://lkml.org/lkml/2015/6/3/740

Signed-off-by: Sven Eckelmann <[email protected]>
---
 checkstuff.sh                                      |   9 +-
 generate_linux_headers.sh                          |  47 +-
 ...dd-missing-braces-to-do-while-in-kmemchec.patch |  39 --
 ...linux-kmemcheck.h-fix-a-trillion-warnings.patch |  39 --
 .../0001-net-fix-protocol-sk_buff-field.patch      |  39 --
 ...ine-keyword-for-static-function-in-linux-.patch |  31 -
 ...ine-keyword-for-static-function-in-linux-.patch |  31 -
 .../0002-net-fix-protocol-sk_buff-field.patch      |  39 --
 .../0003-percpu-remove-per_cpu__-prefix.patch      | 655 ---------------------
 .../0004-percpu-make-access-macros-universal.patch |  75 ---
 .../0005-percpu-add-__percpu-for-sparse.patch      | 124 ----
 ...-accessors-check-for-percpu-pointer-in-sp.patch |  99 ----
 ...handle-__percpu-notations-in-UP-accessors.patch |  58 --
 ...handle-__percpu-notations-in-UP-accessors.patch |  58 --
 ...ine-keyword-for-static-function-in-linux-.patch |  31 -
 ...handle-__percpu-notations-in-UP-accessors.patch |  58 --
 ...ine-keyword-for-static-function-in-linux-.patch |  31 -
 17 files changed, 7 insertions(+), 1456 deletions(-)
 delete mode 100644 
patches/v2.6.31/0001-kmemcheck-add-missing-braces-to-do-while-in-kmemchec.patch
 delete mode 100644 
patches/v2.6.31/0002-include-linux-kmemcheck.h-fix-a-trillion-warnings.patch
 delete mode 100644 patches/v2.6.32/0001-net-fix-protocol-sk_buff-field.patch
 delete mode 100644 
patches/v2.6.32/0002-missing-inline-keyword-for-static-function-in-linux-.patch
 delete mode 100644 
patches/v2.6.33/0001-missing-inline-keyword-for-static-function-in-linux-.patch
 delete mode 100644 patches/v2.6.33/0002-net-fix-protocol-sk_buff-field.patch
 delete mode 100644 patches/v2.6.33/0003-percpu-remove-per_cpu__-prefix.patch
 delete mode 100644 
patches/v2.6.33/0004-percpu-make-access-macros-universal.patch
 delete mode 100644 patches/v2.6.33/0005-percpu-add-__percpu-for-sparse.patch
 delete mode 100644 
patches/v2.6.33/0006-percpu-make-accessors-check-for-percpu-pointer-in-sp.patch
 delete mode 100644 
patches/v2.6.33/0007-percpu-handle-__percpu-notations-in-UP-accessors.patch
 delete mode 100644 
patches/v2.6.34/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
 delete mode 100644 
patches/v2.6.34/0002-missing-inline-keyword-for-static-function-in-linux-.patch
 delete mode 100644 
patches/v2.6.35/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
 delete mode 100644 
patches/v2.6.35/0002-missing-inline-keyword-for-static-function-in-linux-.patch

diff --git a/checkstuff.sh b/checkstuff.sh
index a73d1f1..3fddae2 100755
--- a/checkstuff.sh
+++ b/checkstuff.sh
@@ -6,7 +6,7 @@ TO=${TO:="[email protected]"}
 FROM=${FROM:="[email protected]"}
 REMOTE=${REMOTE:="git+ssh://[email protected]/batman-adv.git"}
 
-LINUX_VERSIONS=$(echo linux-2.6.{29..39} linux-3.{0..19} linux-4.{0..1})
+LINUX_VERSIONS=$(echo linux-3.{2..19} linux-4.{0..1})
 LINUX_DEFAULT_VERSION=linux-4.1
 
 CGCC="$(pwd)/sparse/cgcc"
@@ -350,11 +350,8 @@ testbranch()
                                test_wrong_namespace "${branch}" 
"${linux_name}" "${config}"
                                "${MAKE}" $config 
KERNELPATH="${LINUX_HEADERS}"/"${linux_name}" clean
 
-                               if [[ "$linux_name" != "linux-2.6."* ]]; then
-                               echo "-"${linux_name}
-                                       test_smatch "${branch}" "${linux_name}" 
"${config}"
-                                       "${MAKE}" $config 
KERNELPATH="${LINUX_HEADERS}"/"${linux_name}" clean
-                               fi
+                               test_smatch "${branch}" "${linux_name}" 
"${config}"
+                               "${MAKE}" $config 
KERNELPATH="${LINUX_HEADERS}"/"${linux_name}" clean
                        done
                done
 
diff --git a/generate_linux_headers.sh b/generate_linux_headers.sh
index 9a935ba..fdd804d 100755
--- a/generate_linux_headers.sh
+++ b/generate_linux_headers.sh
@@ -29,12 +29,6 @@ prepare_source()
        grep -v 'CONFIG_ENABLE_WARN_DEPRECATED is not set' .config > 
.config.tmp; mv .config.tmp .config
        grep -v 'CONFIG_CRC16 is not set' .config > .config.tmp; mv .config.tmp 
.config
        grep -v 'CONFIG_DEBUG_FS is not set' .config > .config.tmp; mv 
.config.tmp .config
-       if [ "$3" != "smp" ]; then
-               grep -v 'CONFIG_SMP is not set' .config > .config.tmp; mv 
.config.tmp .config
-               grep -v 'CONFIG_MODULE_UNLOAD is not set' .config > 
.config.tmp; mv .config.tmp .config
-               echo 'CONFIG_SMP=y' >> .config
-               echo 'CONFIG_MODULE_UNLOAD=y' >> .config
-       fi
        echo 'CONFIG_MODULES=y' >> .config
        if [ "${MAKE_AMD64}" != "0" ]; then
                echo 'CONFIG_64BIT=y' >> .config
@@ -47,11 +41,7 @@ prepare_source()
        echo 'CONFIG_ENABLE_WARN_DEPRECATED=y' >> .config
        echo 'CONFIG_CRC16=y' >> .config
        echo 'CONFIG_DEBUG_FS=y' >> .config
-       if [ "$1" = "2.6" -a \( "$2" = "29" -o "$2" = "30" -o "$2" = "31" -o 
"$2" = "32" -o "$2" = "33" -o "$2" = "34" -o "$2" = "35" \) ]; then
-               echo 'xy'|make menuconfig
-       else
-               make oldnoconfig
-       fi
+       make oldnoconfig
        make prepare
        make modules
 }
@@ -78,7 +68,6 @@ generate_squashfs()
        rm -f linux-build.img
        rm -rf linux-build
        mkdir -p linux-build
-       mv linux-2.6.* linux-build
        mv linux-3* linux-build
        mv linux-4* linux-build
        mksquashfs linux-build linux-build.img
@@ -86,38 +75,11 @@ generate_squashfs()
        echo ok
 }
 
-for i in `seq 29 39`; do
-       #wget 
"http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.${i}.tar.gz";
-       #tar xfz "linux-2.6.${i}.tar.gz"
-       #rm "linux-2.6.${i}.tar.gz"
-       git archive --remote="${LINUX_REPOSITORY}" --format tar 
--prefix=linux-2.6.${i}/ v2.6.${i}|tar x
-       (
-               cd "linux-2.6.${i}" || exit
-               if [ "$i" = 29 -o "$i" = 30 -o "$i" = 31 -o "$i" = 32 -o "$i" = 
33 -o "$i" = 34 -o "$i" = 35 -o "$i" = 36 ]; then
-                       sed -i 
's/^\(KBUILD_CFLAGS[[:space:]]*:=\)[[:space:]]*\(-Wall\)/\1 
-Wno-unused-but-set-variable \2/' Makefile
-               fi
-               if [ "$i" != 32 -a "$i" != 33 ]; then
-                       SMP=smp
-               else
-                       SMP=nosmp
-               fi
-               prepare_source "2.6" "${i}" "$SMP"
-               if [ -d "../patches/v2.6.${i}" ]; then
-                       for p in "../patches/v2.6.${i}/"*.patch; do
-                               patch -p1 -i "${p}"
-                       done
-               fi
-
-               clean_source
-       )
-done
-
-for i in `seq 0 19`; do
+for i in `seq 2 19`; do
        git archive --remote="${LINUX_REPOSITORY}" --format tar 
--prefix=linux-3.${i}/ v3.${i}|tar x
        (
                cd "linux-3.${i}" || exit
-               SMP=smp
-               prepare_source "3" "${i}" "$SMP"
+               prepare_source "3" "${i}"
                if [ -d "../patches/v3.${i}" ]; then
                        for p in "../patches/v3.${i}/"*.patch; do
                                patch -p1 -i "${p}"
@@ -132,8 +94,7 @@ for i in `seq 0 1`; do
        git archive --remote="${LINUX_REPOSITORY}" --format tar 
--prefix=linux-4.${i}/ v4.${i}|tar x
        (
                cd "linux-4.${i}" || exit
-               SMP=smp
-               prepare_source "4" "${i}" "$SMP"
+               prepare_source "4" "${i}"
                if [ -d "../patches/v4.${i}" ]; then
                        for p in "../patches/v4.${i}/"*.patch; do
                                patch -p1 -i "${p}"
diff --git 
a/patches/v2.6.31/0001-kmemcheck-add-missing-braces-to-do-while-in-kmemchec.patch
 
b/patches/v2.6.31/0001-kmemcheck-add-missing-braces-to-do-while-in-kmemchec.patch
deleted file mode 100644
index 5076829..0000000
--- 
a/patches/v2.6.31/0001-kmemcheck-add-missing-braces-to-do-while-in-kmemchec.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 181f7c5dd3832763bdf2756b6d2d8a49bdf12791 Mon Sep 17 00:00:00 2001
-From: Johannes Berg <[email protected]>
-Date: Mon, 6 Jul 2009 11:53:03 +0200
-Subject: [PATCH] kmemcheck: add missing braces to do-while in
- kmemcheck_annotate_bitfield
-
-Whether or not the sparse warning
-
-       warning: do-while statement is not a compound statement
-
-is justified or not in this case, it is annoying and trivial to fix.
-
-[[email protected]: title and cleanup]
-Signed-off-by: Johannes Berg <[email protected]>
-Signed-off-by: Vegard Nossum <[email protected]>
-Signed-off-by: Sven Eckelmann <[email protected]>
----
- include/linux/kmemcheck.h |    5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/include/linux/kmemcheck.h b/include/linux/kmemcheck.h
-index 47b39b7..06c6c55 100644
---- a/include/linux/kmemcheck.h
-+++ b/include/linux/kmemcheck.h
-@@ -137,7 +137,10 @@ static inline void 
kmemcheck_mark_initialized_pages(struct page *p,
-       int name##_end[0];
- 
- #define kmemcheck_annotate_bitfield(ptr, name)                                
\
--      do if (ptr) {                                                   \
-+      do {                                                            \
-+              if (!ptr)                                               \
-+                      break;                                          \
-+                                                                      \
-               int _n = (long) &((ptr)->name##_end)                    \
-                       - (long) &((ptr)->name##_begin);                \
-               BUILD_BUG_ON(_n < 0);                                   \
--- 
-1.7.10
-
diff --git 
a/patches/v2.6.31/0002-include-linux-kmemcheck.h-fix-a-trillion-warnings.patch 
b/patches/v2.6.31/0002-include-linux-kmemcheck.h-fix-a-trillion-warnings.patch
deleted file mode 100644
index e382407..0000000
--- 
a/patches/v2.6.31/0002-include-linux-kmemcheck.h-fix-a-trillion-warnings.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From fa081b00a80ef3f4575c99af6e97d29e1628cf51 Mon Sep 17 00:00:00 2001
-From: Andrew Morton <[email protected]>
-Date: Tue, 22 Sep 2009 16:43:27 -0700
-Subject: [PATCH] include/linux/kmemcheck.h: fix a trillion warnings
-
-of the form
-
-include/net/inet_sock.h:208: warning: ISO C90 forbids mixed declarations and 
code
-
-Cc: Johannes Berg <[email protected]>
-Acked-by: Vegard Nossum <[email protected]>
-Signed-off-by: Andrew Morton <[email protected]>
-Signed-off-by: Linus Torvalds <[email protected]>
-Signed-off-by: Sven Eckelmann <[email protected]>
----
- include/linux/kmemcheck.h |    4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/include/linux/kmemcheck.h b/include/linux/kmemcheck.h
-index c800660..136cdcd 100644
---- a/include/linux/kmemcheck.h
-+++ b/include/linux/kmemcheck.h
-@@ -145,10 +145,12 @@ static inline bool kmemcheck_is_obj_initialized(unsigned 
long addr, size_t size)
- 
- #define kmemcheck_annotate_bitfield(ptr, name)                                
\
-       do {                                                            \
-+              int _n;                                                 \
-+                                                                      \
-               if (!ptr)                                               \
-                       break;                                          \
-                                                                       \
--              int _n = (long) &((ptr)->name##_end)                    \
-+              _n = (long) &((ptr)->name##_end)                        \
-                       - (long) &((ptr)->name##_begin);                \
-               BUILD_BUG_ON(_n < 0);                                   \
-                                                                       \
--- 
-1.7.10
-
diff --git a/patches/v2.6.32/0001-net-fix-protocol-sk_buff-field.patch 
b/patches/v2.6.32/0001-net-fix-protocol-sk_buff-field.patch
deleted file mode 100644
index c3d963c..0000000
--- a/patches/v2.6.32/0001-net-fix-protocol-sk_buff-field.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 0eb2d8c95627fbc1906ebc1a61b7ea34a80e9b52 Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <[email protected]>
-Date: Mon, 1 Mar 2010 03:09:26 +0000
-Subject: [PATCH] net: fix protocol sk_buff field
-
-Commit e992cd9b72a18 (kmemcheck: make bitfield annotations truly no-ops
-when disabled) allows us to revert a workaround we did in the past to
-not add holes in sk_buff structure.
-
-This patch partially reverts commit 14d18a81b5171
-(net: fix kmemcheck annotations) so that sparse doesnt complain:
-
-include/linux/skbuff.h:357:41: error: invalid bitfield specifier for
-type restricted __be16.
-
-Reported-by: Stefan Richter <[email protected]>
-Signed-off-by: Eric Dumazet <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
- include/linux/skbuff.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index bcdd660..ec21ec3 100644
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
-@@ -354,8 +354,8 @@ struct sk_buff {
-                               ipvs_property:1,
-                               peeked:1,
-                               nf_trace:1;
--      __be16                  protocol:16;
-       kmemcheck_bitfield_end(flags1);
-+      __be16                  protocol;
- 
-       void                    (*destructor)(struct sk_buff *skb);
- #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.32/0002-missing-inline-keyword-for-static-function-in-linux-.patch
 
b/patches/v2.6.32/0002-missing-inline-keyword-for-static-function-in-linux-.patch
deleted file mode 100644
index 306c49a..0000000
--- 
a/patches/v2.6.32/0002-missing-inline-keyword-for-static-function-in-linux-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b7af370026f5accdaaaad5b6dd1605227060c9c4 Mon Sep 17 00:00:00 2001
-From: Mathieu Lacage <[email protected]>
-Date: Sat, 14 Aug 2010 15:02:44 +0200
-Subject: [PATCH] missing inline keyword for static function in
- linux/dmaengine.h
-
-Add a missing inline keyword for static function in linux/dmaengine.h to
-avoid duplicate symbol definitions.
-
-Signed-off-by: Mathieu Lacage <[email protected]>
-Signed-off-by: Dan Williams <[email protected]>
----
- include/linux/dmaengine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index 5204f01..57d2b76 100644
---- a/include/linux/dmaengine.h
-+++ b/include/linux/dmaengine.h
-@@ -477,7 +477,7 @@ static inline bool dma_dev_has_pq_continue(struct 
dma_device *dma)
-       return (dma->max_pq & DMA_HAS_PQ_CONTINUE) == DMA_HAS_PQ_CONTINUE;
- }
- 
--static unsigned short dma_dev_to_maxpq(struct dma_device *dma)
-+static inline unsigned short dma_dev_to_maxpq(struct dma_device *dma)
- {
-       return dma->max_pq & ~DMA_HAS_PQ_CONTINUE;
- }
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.33/0001-missing-inline-keyword-for-static-function-in-linux-.patch
 
b/patches/v2.6.33/0001-missing-inline-keyword-for-static-function-in-linux-.patch
deleted file mode 100644
index 88a0dfd..0000000
--- 
a/patches/v2.6.33/0001-missing-inline-keyword-for-static-function-in-linux-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From a1f09ed3ad6444409a4aeacee8a2f1c99e6b5241 Mon Sep 17 00:00:00 2001
-From: Mathieu Lacage <[email protected]>
-Date: Sat, 14 Aug 2010 15:02:44 +0200
-Subject: [PATCH 1/7] missing inline keyword for static function in
- linux/dmaengine.h
-
-Add a missing inline keyword for static function in linux/dmaengine.h to
-avoid duplicate symbol definitions.
-
-Signed-off-by: Mathieu Lacage <[email protected]>
-Signed-off-by: Dan Williams <[email protected]>
----
- include/linux/dmaengine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index 7878498..ee0b0dc 100644
---- a/include/linux/dmaengine.h
-+++ b/include/linux/dmaengine.h
-@@ -380,7 +380,7 @@ static inline bool dma_dev_has_pq_continue(struct 
dma_device *dma)
-       return (dma->max_pq & DMA_HAS_PQ_CONTINUE) == DMA_HAS_PQ_CONTINUE;
- }
- 
--static unsigned short dma_dev_to_maxpq(struct dma_device *dma)
-+static inline unsigned short dma_dev_to_maxpq(struct dma_device *dma)
- {
-       return dma->max_pq & ~DMA_HAS_PQ_CONTINUE;
- }
--- 
-2.1.4
-
diff --git a/patches/v2.6.33/0002-net-fix-protocol-sk_buff-field.patch 
b/patches/v2.6.33/0002-net-fix-protocol-sk_buff-field.patch
deleted file mode 100644
index c41f6ce..0000000
--- a/patches/v2.6.33/0002-net-fix-protocol-sk_buff-field.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 7022d866f871a5118321aade57b2b6e09728eaad Mon Sep 17 00:00:00 2001
-From: Eric Dumazet <[email protected]>
-Date: Mon, 1 Mar 2010 03:09:26 +0000
-Subject: [PATCH 2/7] net: fix protocol sk_buff field
-
-Commit e992cd9b72a18 (kmemcheck: make bitfield annotations truly no-ops
-when disabled) allows us to revert a workaround we did in the past to
-not add holes in sk_buff structure.
-
-This patch partially reverts commit 14d18a81b5171
-(net: fix kmemcheck annotations) so that sparse doesnt complain:
-
-include/linux/skbuff.h:357:41: error: invalid bitfield specifier for
-type restricted __be16.
-
-Reported-by: Stefan Richter <[email protected]>
-Signed-off-by: Eric Dumazet <[email protected]>
-Signed-off-by: David S. Miller <[email protected]>
----
- include/linux/skbuff.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/skbuff.h b/include/linux/skbuff.h
-index ae836fd..b40f56b 100644
---- a/include/linux/skbuff.h
-+++ b/include/linux/skbuff.h
-@@ -354,8 +354,8 @@ struct sk_buff {
-                               ipvs_property:1,
-                               peeked:1,
-                               nf_trace:1;
--      __be16                  protocol:16;
-       kmemcheck_bitfield_end(flags1);
-+      __be16                  protocol;
- 
-       void                    (*destructor)(struct sk_buff *skb);
- #if defined(CONFIG_NF_CONNTRACK) || defined(CONFIG_NF_CONNTRACK_MODULE)
--- 
-2.1.4
-
diff --git a/patches/v2.6.33/0003-percpu-remove-per_cpu__-prefix.patch 
b/patches/v2.6.33/0003-percpu-remove-per_cpu__-prefix.patch
deleted file mode 100644
index dc74140..0000000
--- a/patches/v2.6.33/0003-percpu-remove-per_cpu__-prefix.patch
+++ /dev/null
@@ -1,655 +0,0 @@
-From 025bda5735eb7746121414498056a548a58679f0 Mon Sep 17 00:00:00 2001
-From: Rusty Russell <[email protected]>
-Date: Thu, 29 Oct 2009 22:34:15 +0900
-Subject: [PATCH 3/7] percpu: remove per_cpu__ prefix.
-
-Now that the return from alloc_percpu is compatible with the address
-of per-cpu vars, it makes sense to hand around the address of per-cpu
-variables.  To make this sane, we remove the per_cpu__ prefix we used
-created to stop people accidentally using these vars directly.
-
-Now we have sparse, we can use that (next patch).
-
-tj: * Updated to convert stuff which were missed by or added after the
-      original patch.
-
-    * Kill per_cpu_var() macro.
-
-Signed-off-by: Rusty Russell <[email protected]>
-Signed-off-by: Tejun Heo <[email protected]>
-Reviewed-by: Christoph Lameter <[email protected]>
----
- arch/blackfin/mach-common/entry.S    |  4 ++--
- arch/cris/arch-v10/kernel/entry.S    |  2 +-
- arch/cris/arch-v32/mm/mmu.S          |  2 +-
- arch/ia64/include/asm/percpu.h       |  4 ++--
- arch/ia64/kernel/ia64_ksyms.c        |  4 ++--
- arch/ia64/mm/discontig.c             |  2 +-
- arch/microblaze/include/asm/entry.h  |  2 +-
- arch/parisc/lib/fixup.S              |  8 ++++----
- arch/sparc/kernel/nmi.c              |  6 +++---
- arch/sparc/kernel/rtrap_64.S         |  8 ++++----
- arch/x86/include/asm/percpu.h        | 37 +++++++++++++++++-------------------
- arch/x86/include/asm/system.h        |  8 ++++----
- arch/x86/kernel/apic/nmi.c           |  6 +++---
- arch/x86/kernel/head_32.S            |  6 +++---
- arch/x86/kernel/vmlinux.lds.S        |  4 ++--
- arch/x86/xen/xen-asm_32.S            |  4 ++--
- include/asm-generic/percpu.h         | 12 ++++++------
- include/linux/percpu-defs.h          | 18 ++++++------------
- include/linux/percpu.h               |  5 ++---
- include/linux/vmstat.h               |  8 ++++----
- kernel/rcutorture.c                  |  8 ++++----
- kernel/trace/trace.c                 |  6 +++---
- kernel/trace/trace_functions_graph.c |  4 ++--
- 23 files changed, 79 insertions(+), 89 deletions(-)
-
-diff --git a/arch/blackfin/mach-common/entry.S 
b/arch/blackfin/mach-common/entry.S
-index b0ed0b4..01b2f58 100644
---- a/arch/blackfin/mach-common/entry.S
-+++ b/arch/blackfin/mach-common/entry.S
-@@ -816,8 +816,8 @@ ENDPROC(_resume)
- 
- ENTRY(_ret_from_exception)
- #ifdef CONFIG_IPIPE
--      p2.l = _per_cpu__ipipe_percpu_domain;
--      p2.h = _per_cpu__ipipe_percpu_domain;
-+      p2.l = _ipipe_percpu_domain;
-+      p2.h = _ipipe_percpu_domain;
-       r0.l = _ipipe_root;
-       r0.h = _ipipe_root;
-       r2 = [p2];
-diff --git a/arch/cris/arch-v10/kernel/entry.S 
b/arch/cris/arch-v10/kernel/entry.S
-index 2c18d08..c52bef3 100644
---- a/arch/cris/arch-v10/kernel/entry.S
-+++ b/arch/cris/arch-v10/kernel/entry.S
-@@ -358,7 +358,7 @@ mmu_bus_fault:
- 1:    btstq   12, $r1            ; Refill?
-       bpl     2f
-       lsrq    24, $r1     ; Get PGD index (bit 24-31)
--      move.d  [per_cpu__current_pgd], $r0 ; PGD for the current process
-+      move.d  [current_pgd], $r0 ; PGD for the current process
-       move.d  [$r0+$r1.d], $r0   ; Get PMD
-       beq     2f
-       nop
-diff --git a/arch/cris/arch-v32/mm/mmu.S b/arch/cris/arch-v32/mm/mmu.S
-index 2238d15..f125d91 100644
---- a/arch/cris/arch-v32/mm/mmu.S
-+++ b/arch/cris/arch-v32/mm/mmu.S
-@@ -115,7 +115,7 @@
- #ifdef CONFIG_SMP
-       move    $s7, $acr       ; PGD
- #else
--      move.d  per_cpu__current_pgd, $acr ; PGD
-+      move.d  current_pgd, $acr ; PGD
- #endif
-       ; Look up PMD in PGD
-       lsrq    24, $r0 ; Get PMD index into PGD (bit 24-31)
-diff --git a/arch/ia64/include/asm/percpu.h b/arch/ia64/include/asm/percpu.h
-index 30cf465..f7c00a5 100644
---- a/arch/ia64/include/asm/percpu.h
-+++ b/arch/ia64/include/asm/percpu.h
-@@ -9,7 +9,7 @@
- #define PERCPU_ENOUGH_ROOM PERCPU_PAGE_SIZE
- 
- #ifdef __ASSEMBLY__
--# define THIS_CPU(var)        (per_cpu__##var)  /* use this to mark accesses 
to per-CPU variables... */
-+# define THIS_CPU(var)        (var)  /* use this to mark accesses to per-CPU 
variables... */
- #else /* !__ASSEMBLY__ */
- 
- 
-@@ -39,7 +39,7 @@ extern void *per_cpu_init(void);
-  * On the positive side, using __ia64_per_cpu_var() instead of 
__get_cpu_var() is slightly
-  * more efficient.
-  */
--#define __ia64_per_cpu_var(var)       per_cpu__##var
-+#define __ia64_per_cpu_var(var)       var
- 
- #include <asm-generic/percpu.h>
- 
-diff --git a/arch/ia64/kernel/ia64_ksyms.c b/arch/ia64/kernel/ia64_ksyms.c
-index 461b999..7f4a0ed 100644
---- a/arch/ia64/kernel/ia64_ksyms.c
-+++ b/arch/ia64/kernel/ia64_ksyms.c
-@@ -30,9 +30,9 @@ EXPORT_SYMBOL(max_low_pfn);  /* defined by bootmem.c, but 
not exported by generic
- #endif
- 
- #include <asm/processor.h>
--EXPORT_SYMBOL(per_cpu__ia64_cpu_info);
-+EXPORT_SYMBOL(ia64_cpu_info);
- #ifdef CONFIG_SMP
--EXPORT_SYMBOL(per_cpu__local_per_cpu_offset);
-+EXPORT_SYMBOL(local_per_cpu_offset);
- #endif
- 
- #include <asm/uaccess.h>
-diff --git a/arch/ia64/mm/discontig.c b/arch/ia64/mm/discontig.c
-index 19c4b21..8d586d1 100644
---- a/arch/ia64/mm/discontig.c
-+++ b/arch/ia64/mm/discontig.c
-@@ -459,7 +459,7 @@ static void __init initialize_pernode_data(void)
-               cpu = 0;
-               node = node_cpuid[cpu].nid;
-               cpu0_cpu_info = (struct cpuinfo_ia64 *)(__phys_per_cpu_start +
--                      ((char *)&per_cpu__ia64_cpu_info - __per_cpu_start));
-+                      ((char *)&ia64_cpu_info - __per_cpu_start));
-               cpu0_cpu_info->node_data = mem_data[node].node_data;
-       }
- #endif /* CONFIG_SMP */
-diff --git a/arch/microblaze/include/asm/entry.h 
b/arch/microblaze/include/asm/entry.h
-index 61abbd2..ec89f2a 100644
---- a/arch/microblaze/include/asm/entry.h
-+++ b/arch/microblaze/include/asm/entry.h
-@@ -21,7 +21,7 @@
-  * places
-  */
- 
--#define PER_CPU(var) per_cpu__##var
-+#define PER_CPU(var) var
- 
- # ifndef __ASSEMBLY__
- DECLARE_PER_CPU(unsigned int, KSP); /* Saved kernel stack pointer */
-diff --git a/arch/parisc/lib/fixup.S b/arch/parisc/lib/fixup.S
-index d172d42..f8c45cc 100644
---- a/arch/parisc/lib/fixup.S
-+++ b/arch/parisc/lib/fixup.S
-@@ -36,8 +36,8 @@
- #endif
-       /* t2 = &__per_cpu_offset[smp_processor_id()]; */
-       LDREGX \t2(\t1),\t2 
--      addil LT%per_cpu__exception_data,%r27
--      LDREG RT%per_cpu__exception_data(%r1),\t1
-+      addil LT%exception_data,%r27
-+      LDREG RT%exception_data(%r1),\t1
-       /* t1 = &__get_cpu_var(exception_data) */
-       add,l \t1,\t2,\t1
-       /* t1 = t1->fault_ip */
-@@ -46,8 +46,8 @@
- #else
-       .macro  get_fault_ip t1 t2
-       /* t1 = &__get_cpu_var(exception_data) */
--      addil LT%per_cpu__exception_data,%r27
--      LDREG RT%per_cpu__exception_data(%r1),\t2
-+      addil LT%exception_data,%r27
-+      LDREG RT%exception_data(%r1),\t2
-       /* t1 = t2->fault_ip */
-       LDREG EXCDATA_IP(\t2), \t1
-       .endm
-diff --git a/arch/sparc/kernel/nmi.c b/arch/sparc/kernel/nmi.c
-index d242a73..3c8af79 100644
---- a/arch/sparc/kernel/nmi.c
-+++ b/arch/sparc/kernel/nmi.c
-@@ -113,13 +113,13 @@ notrace __kprobes void perfctr_irq(int irq, struct 
pt_regs *regs)
-               touched = 1;
-       }
-       if (!touched && __get_cpu_var(last_irq_sum) == sum) {
--              __this_cpu_inc(per_cpu_var(alert_counter));
--              if (__this_cpu_read(per_cpu_var(alert_counter)) == 30 * nmi_hz)
-+              __this_cpu_inc(alert_counter);
-+              if (__this_cpu_read(alert_counter) == 30 * nmi_hz)
-                       die_nmi("BUG: NMI Watchdog detected LOCKUP",
-                               regs, panic_on_timeout);
-       } else {
-               __get_cpu_var(last_irq_sum) = sum;
--              __this_cpu_write(per_cpu_var(alert_counter), 0);
-+              __this_cpu_write(alert_counter, 0);
-       }
-       if (__get_cpu_var(wd_enabled)) {
-               write_pic(picl_value(nmi_hz));
-diff --git a/arch/sparc/kernel/rtrap_64.S b/arch/sparc/kernel/rtrap_64.S
-index fd3cee4..1ddec40 100644
---- a/arch/sparc/kernel/rtrap_64.S
-+++ b/arch/sparc/kernel/rtrap_64.S
-@@ -149,11 +149,11 @@ rtrap_nmi:       ldx                     [%sp + 
PTREGS_OFF + PT_V9_TSTATE], %l1
- rtrap_irq:
- rtrap:
- #ifndef CONFIG_SMP
--              sethi                   %hi(per_cpu____cpu_data), %l0
--              lduw                    [%l0 + %lo(per_cpu____cpu_data)], %l1
-+              sethi                   %hi(__cpu_data), %l0
-+              lduw                    [%l0 + %lo(__cpu_data)], %l1
- #else
--              sethi                   %hi(per_cpu____cpu_data), %l0
--              or                      %l0, %lo(per_cpu____cpu_data), %l0
-+              sethi                   %hi(__cpu_data), %l0
-+              or                      %l0, %lo(__cpu_data), %l0
-               lduw                    [%l0 + %g5], %l1
- #endif
-               cmp                     %l1, 0
-diff --git a/arch/x86/include/asm/percpu.h b/arch/x86/include/asm/percpu.h
-index 0c44196..4c170cc 100644
---- a/arch/x86/include/asm/percpu.h
-+++ b/arch/x86/include/asm/percpu.h
-@@ -25,19 +25,18 @@
-  */
- #ifdef CONFIG_SMP
- #define PER_CPU(var, reg)                                             \
--      __percpu_mov_op %__percpu_seg:per_cpu__this_cpu_off, reg;       \
--      lea per_cpu__##var(reg), reg
--#define PER_CPU_VAR(var)      %__percpu_seg:per_cpu__##var
-+      __percpu_mov_op %__percpu_seg:this_cpu_off, reg;                \
-+      lea var(reg), reg
-+#define PER_CPU_VAR(var)      %__percpu_seg:var
- #else /* ! SMP */
--#define PER_CPU(var, reg)                                             \
--      __percpu_mov_op $per_cpu__##var, reg
--#define PER_CPU_VAR(var)      per_cpu__##var
-+#define PER_CPU(var, reg)     __percpu_mov_op $var, reg
-+#define PER_CPU_VAR(var)      var
- #endif        /* SMP */
- 
- #ifdef CONFIG_X86_64_SMP
- #define INIT_PER_CPU_VAR(var)  init_per_cpu__##var
- #else
--#define INIT_PER_CPU_VAR(var)  per_cpu__##var
-+#define INIT_PER_CPU_VAR(var)  var
- #endif
- 
- #else /* ...!ASSEMBLY */
-@@ -60,12 +59,12 @@
-  * There also must be an entry in vmlinux_64.lds.S
-  */
- #define DECLARE_INIT_PER_CPU(var) \
--       extern typeof(per_cpu_var(var)) init_per_cpu_var(var)
-+       extern typeof(var) init_per_cpu_var(var)
- 
- #ifdef CONFIG_X86_64_SMP
- #define init_per_cpu_var(var)  init_per_cpu__##var
- #else
--#define init_per_cpu_var(var)  per_cpu_var(var)
-+#define init_per_cpu_var(var)  var
- #endif
- 
- /* For arch-specific code, we can use direct single-insn ops (they
-@@ -142,16 +141,14 @@ do {                                                     
\
-  * per-thread variables implemented as per-cpu variables and thus
-  * stable for the duration of the respective task.
-  */
--#define percpu_read(var)      percpu_from_op("mov", per_cpu__##var,   \
--                                             "m" (per_cpu__##var))
--#define percpu_read_stable(var)       percpu_from_op("mov", per_cpu__##var,   
\
--                                             "p" (&per_cpu__##var))
--#define percpu_write(var, val)        percpu_to_op("mov", per_cpu__##var, val)
--#define percpu_add(var, val)  percpu_to_op("add", per_cpu__##var, val)
--#define percpu_sub(var, val)  percpu_to_op("sub", per_cpu__##var, val)
--#define percpu_and(var, val)  percpu_to_op("and", per_cpu__##var, val)
--#define percpu_or(var, val)   percpu_to_op("or", per_cpu__##var, val)
--#define percpu_xor(var, val)  percpu_to_op("xor", per_cpu__##var, val)
-+#define percpu_read(var)              percpu_from_op("mov", var, "m" (var))
-+#define percpu_read_stable(var)               percpu_from_op("mov", var, "p" 
(&(var)))
-+#define percpu_write(var, val)                percpu_to_op("mov", var, val)
-+#define percpu_add(var, val)          percpu_to_op("add", var, val)
-+#define percpu_sub(var, val)          percpu_to_op("sub", var, val)
-+#define percpu_and(var, val)          percpu_to_op("and", var, val)
-+#define percpu_or(var, val)           percpu_to_op("or", var, val)
-+#define percpu_xor(var, val)          percpu_to_op("xor", var, val)
- 
- #define __this_cpu_read_1(pcp)                percpu_from_op("mov", (pcp), 
"m"(pcp))
- #define __this_cpu_read_2(pcp)                percpu_from_op("mov", (pcp), 
"m"(pcp))
-@@ -236,7 +233,7 @@ do {                                                       
\
- ({                                                                    \
-       int old__;                                                      \
-       asm volatile("btr %2,"__percpu_arg(1)"\n\tsbbl %0,%0"           \
--                   : "=r" (old__), "+m" (per_cpu__##var)              \
-+                   : "=r" (old__), "+m" (var)                         \
-                    : "dIr" (bit));                                    \
-       old__;                                                          \
- })
-diff --git a/arch/x86/include/asm/system.h b/arch/x86/include/asm/system.h
-index e04740f..b8fe48e 100644
---- a/arch/x86/include/asm/system.h
-+++ b/arch/x86/include/asm/system.h
-@@ -32,7 +32,7 @@ extern void show_regs_common(void);
-       "movl %P[task_canary](%[next]), %%ebx\n\t"                      \
-       "movl %%ebx, "__percpu_arg([stack_canary])"\n\t"
- #define __switch_canary_oparam                                                
\
--      , [stack_canary] "=m" (per_cpu_var(stack_canary.canary))
-+      , [stack_canary] "=m" (stack_canary.canary)
- #define __switch_canary_iparam                                                
\
-       , [task_canary] "i" (offsetof(struct task_struct, stack_canary))
- #else /* CC_STACKPROTECTOR */
-@@ -114,7 +114,7 @@ do {                                                       
                \
-       "movq %P[task_canary](%%rsi),%%r8\n\t"                            \
-       "movq %%r8,"__percpu_arg([gs_canary])"\n\t"
- #define __switch_canary_oparam                                                
  \
--      , [gs_canary] "=m" (per_cpu_var(irq_stack_union.stack_canary))
-+      , [gs_canary] "=m" (irq_stack_union.stack_canary)
- #define __switch_canary_iparam                                                
  \
-       , [task_canary] "i" (offsetof(struct task_struct, stack_canary))
- #else /* CC_STACKPROTECTOR */
-@@ -133,7 +133,7 @@ do {                                                       
                \
-            __switch_canary                                              \
-            "movq %P[thread_info](%%rsi),%%r8\n\t"                       \
-            "movq %%rax,%%rdi\n\t"                                       \
--           "testl  %[_tif_fork],%P[ti_flags](%%r8)\n\t"         \
-+           "testl  %[_tif_fork],%P[ti_flags](%%r8)\n\t"                 \
-            "jnz   ret_from_fork\n\t"                                    \
-            RESTORE_CONTEXT                                              \
-            : "=a" (last)                                                \
-@@ -143,7 +143,7 @@ do {                                                       
                \
-              [ti_flags] "i" (offsetof(struct thread_info, flags)),      \
-              [_tif_fork] "i" (_TIF_FORK),                               \
-              [thread_info] "i" (offsetof(struct task_struct, stack)),   \
--             [current_task] "m" (per_cpu_var(current_task))             \
-+             [current_task] "m" (current_task)                          \
-              __switch_canary_iparam                                     \
-            : "memory", "cc" __EXTRA_CLOBBER)
- #endif
-diff --git a/arch/x86/kernel/apic/nmi.c b/arch/x86/kernel/apic/nmi.c
-index 0159a69..4ada42c 100644
---- a/arch/x86/kernel/apic/nmi.c
-+++ b/arch/x86/kernel/apic/nmi.c
-@@ -438,8 +438,8 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason)
-                * Ayiee, looks like this CPU is stuck ...
-                * wait a few IRQs (5 seconds) before doing the oops ...
-                */
--              __this_cpu_inc(per_cpu_var(alert_counter));
--              if (__this_cpu_read(per_cpu_var(alert_counter)) == 5 * nmi_hz)
-+              __this_cpu_inc(alert_counter);
-+              if (__this_cpu_read(alert_counter) == 5 * nmi_hz)
-                       /*
-                        * die_nmi will return ONLY if NOTIFY_STOP happens..
-                        */
-@@ -447,7 +447,7 @@ nmi_watchdog_tick(struct pt_regs *regs, unsigned reason)
-                               regs, panic_on_timeout);
-       } else {
-               __get_cpu_var(last_irq_sum) = sum;
--              __this_cpu_write(per_cpu_var(alert_counter), 0);
-+              __this_cpu_write(alert_counter, 0);
-       }
- 
-       /* see if the nmi watchdog went off */
-diff --git a/arch/x86/kernel/head_32.S b/arch/x86/kernel/head_32.S
-index 7fd318b..37c3d4b 100644
---- a/arch/x86/kernel/head_32.S
-+++ b/arch/x86/kernel/head_32.S
-@@ -442,8 +442,8 @@ is386:     movl $2,%ecx            # set MP
-        */
-       cmpb $0,ready
-       jne 1f
--      movl $per_cpu__gdt_page,%eax
--      movl $per_cpu__stack_canary,%ecx
-+      movl $gdt_page,%eax
-+      movl $stack_canary,%ecx
-       movw %cx, 8 * GDT_ENTRY_STACK_CANARY + 2(%eax)
-       shrl $16, %ecx
-       movb %cl, 8 * GDT_ENTRY_STACK_CANARY + 4(%eax)
-@@ -706,7 +706,7 @@ idt_descr:
-       .word 0                         # 32 bit align gdt_desc.address
- ENTRY(early_gdt_descr)
-       .word GDT_ENTRIES*8-1
--      .long per_cpu__gdt_page         /* Overwritten for secondary CPUs */
-+      .long gdt_page                  /* Overwritten for secondary CPUs */
- 
- /*
-  * The boot_gdt must mirror the equivalent in setup.S and is
-diff --git a/arch/x86/kernel/vmlinux.lds.S b/arch/x86/kernel/vmlinux.lds.S
-index f92a0da..44879df 100644
---- a/arch/x86/kernel/vmlinux.lds.S
-+++ b/arch/x86/kernel/vmlinux.lds.S
-@@ -341,7 +341,7 @@ SECTIONS
-  * Per-cpu symbols which need to be offset from __per_cpu_load
-  * for the boot processor.
-  */
--#define INIT_PER_CPU(x) init_per_cpu__##x = per_cpu__##x + __per_cpu_load
-+#define INIT_PER_CPU(x) init_per_cpu__##x = x + __per_cpu_load
- INIT_PER_CPU(gdt_page);
- INIT_PER_CPU(irq_stack_union);
- 
-@@ -352,7 +352,7 @@ INIT_PER_CPU(irq_stack_union);
-          "kernel image bigger than KERNEL_IMAGE_SIZE");
- 
- #ifdef CONFIG_SMP
--. = ASSERT((per_cpu__irq_stack_union == 0),
-+. = ASSERT((irq_stack_union == 0),
-            "irq_stack_union is not at start of per-cpu area");
- #endif
- 
-diff --git a/arch/x86/xen/xen-asm_32.S b/arch/x86/xen/xen-asm_32.S
-index 88e15de..22a2093 100644
---- a/arch/x86/xen/xen-asm_32.S
-+++ b/arch/x86/xen/xen-asm_32.S
-@@ -90,9 +90,9 @@ ENTRY(xen_iret)
-       GET_THREAD_INFO(%eax)
-       movl TI_cpu(%eax), %eax
-       movl __per_cpu_offset(,%eax,4), %eax
--      mov per_cpu__xen_vcpu(%eax), %eax
-+      mov xen_vcpu(%eax), %eax
- #else
--      movl per_cpu__xen_vcpu, %eax
-+      movl xen_vcpu, %eax
- #endif
- 
-       /* check IF state we're restoring */
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index 8087b90..ca6f049 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -50,11 +50,11 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
-  * offset.
-  */
- #define per_cpu(var, cpu) \
--      (*SHIFT_PERCPU_PTR(&per_cpu_var(var), per_cpu_offset(cpu)))
-+      (*SHIFT_PERCPU_PTR(&(var), per_cpu_offset(cpu)))
- #define __get_cpu_var(var) \
--      (*SHIFT_PERCPU_PTR(&per_cpu_var(var), my_cpu_offset))
-+      (*SHIFT_PERCPU_PTR(&(var), my_cpu_offset))
- #define __raw_get_cpu_var(var) \
--      (*SHIFT_PERCPU_PTR(&per_cpu_var(var), __my_cpu_offset))
-+      (*SHIFT_PERCPU_PTR(&(var), __my_cpu_offset))
- 
- #define this_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, my_cpu_offset)
- #define __this_cpu_ptr(ptr) SHIFT_PERCPU_PTR(ptr, __my_cpu_offset)
-@@ -66,9 +66,9 @@ extern void setup_per_cpu_areas(void);
- 
- #else /* ! SMP */
- 
--#define per_cpu(var, cpu)                     (*((void)(cpu), 
&per_cpu_var(var)))
--#define __get_cpu_var(var)                    per_cpu_var(var)
--#define __raw_get_cpu_var(var)                        per_cpu_var(var)
-+#define per_cpu(var, cpu)                     (*((void)(cpu), &(var)))
-+#define __get_cpu_var(var)                    (var)
-+#define __raw_get_cpu_var(var)                        (var)
- #define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
- #define __this_cpu_ptr(ptr) this_cpu_ptr(ptr)
- 
-diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h
-index 5a5d6ce..ee99f6c 100644
---- a/include/linux/percpu-defs.h
-+++ b/include/linux/percpu-defs.h
-@@ -2,12 +2,6 @@
- #define _LINUX_PERCPU_DEFS_H
- 
- /*
-- * Determine the real variable name from the name visible in the
-- * kernel sources.
-- */
--#define per_cpu_var(var) per_cpu__##var
--
--/*
-  * Base implementations of per-CPU variable declarations and definitions, 
where
-  * the section in which the variable is to be placed is provided by the
-  * 'sec' argument.  This may be used to affect the parameters governing the
-@@ -56,24 +50,24 @@
-  */
- #define DECLARE_PER_CPU_SECTION(type, name, sec)                      \
-       extern __PCPU_DUMMY_ATTRS char __pcpu_scope_##name;             \
--      extern __PCPU_ATTRS(sec) __typeof__(type) per_cpu__##name
-+      extern __PCPU_ATTRS(sec) __typeof__(type) name
- 
- #define DEFINE_PER_CPU_SECTION(type, name, sec)                               
\
-       __PCPU_DUMMY_ATTRS char __pcpu_scope_##name;                    \
-       extern __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;            \
-       __PCPU_DUMMY_ATTRS char __pcpu_unique_##name;                   \
-       __PCPU_ATTRS(sec) PER_CPU_DEF_ATTRIBUTES __weak                 \
--      __typeof__(type) per_cpu__##name
-+      __typeof__(type) name
- #else
- /*
-  * Normal declaration and definition macros.
-  */
- #define DECLARE_PER_CPU_SECTION(type, name, sec)                      \
--      extern __PCPU_ATTRS(sec) __typeof__(type) per_cpu__##name
-+      extern __PCPU_ATTRS(sec) __typeof__(type) name
- 
- #define DEFINE_PER_CPU_SECTION(type, name, sec)                               
\
-       __PCPU_ATTRS(sec) PER_CPU_DEF_ATTRIBUTES                        \
--      __typeof__(type) per_cpu__##name
-+      __typeof__(type) name
- #endif
- 
- /*
-@@ -137,8 +131,8 @@
- /*
-  * Intermodule exports for per-CPU variables.
-  */
--#define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(per_cpu__##var)
--#define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(per_cpu__##var)
-+#define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(var)
-+#define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(var)
- 
- 
- #endif /* _LINUX_PERCPU_DEFS_H */
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index cf5efbc..483de0f 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -188,7 +188,7 @@ static inline void *pcpu_lpage_remapped(void *kaddr)
- #ifndef percpu_read
- # define percpu_read(var)                                             \
-   ({                                                                  \
--      typeof(per_cpu_var(var)) __tmp_var__;                           \
-+      typeof(var) __tmp_var__;                                        \
-       __tmp_var__ = get_cpu_var(var);                                 \
-       put_cpu_var(var);                                               \
-       __tmp_var__;                                                    \
-@@ -259,8 +259,7 @@ do {                                                       
                \
- 
- /*
-  * Optimized manipulation for memory allocated through the per cpu
-- * allocator or for addresses of per cpu variables (can be determined
-- * using per_cpu_var(xx).
-+ * allocator or for addresses of per cpu variables.
-  *
-  * These operation guarantee exclusivity of access for other operations
-  * on the *same* processor. The assumption is that per cpu data is only
-diff --git a/include/linux/vmstat.h b/include/linux/vmstat.h
-index ee03bba..117f0dd 100644
---- a/include/linux/vmstat.h
-+++ b/include/linux/vmstat.h
-@@ -78,22 +78,22 @@ DECLARE_PER_CPU(struct vm_event_state, vm_event_states);
- 
- static inline void __count_vm_event(enum vm_event_item item)
- {
--      __this_cpu_inc(per_cpu_var(vm_event_states).event[item]);
-+      __this_cpu_inc(vm_event_states.event[item]);
- }
- 
- static inline void count_vm_event(enum vm_event_item item)
- {
--      this_cpu_inc(per_cpu_var(vm_event_states).event[item]);
-+      this_cpu_inc(vm_event_states.event[item]);
- }
- 
- static inline void __count_vm_events(enum vm_event_item item, long delta)
- {
--      __this_cpu_add(per_cpu_var(vm_event_states).event[item], delta);
-+      __this_cpu_add(vm_event_states.event[item], delta);
- }
- 
- static inline void count_vm_events(enum vm_event_item item, long delta)
- {
--      this_cpu_add(per_cpu_var(vm_event_states).event[item], delta);
-+      this_cpu_add(vm_event_states.event[item], delta);
- }
- 
- extern void all_vm_events(unsigned long *);
-diff --git a/kernel/rcutorture.c b/kernel/rcutorture.c
-index 9bb5217..0b52175 100644
---- a/kernel/rcutorture.c
-+++ b/kernel/rcutorture.c
-@@ -763,13 +763,13 @@ static void rcu_torture_timer(unsigned long unused)
-               /* Should not happen, but... */
-               pipe_count = RCU_TORTURE_PIPE_LEN;
-       }
--      __this_cpu_inc(per_cpu_var(rcu_torture_count)[pipe_count]);
-+      __this_cpu_inc(rcu_torture_count[pipe_count]);
-       completed = cur_ops->completed() - completed;
-       if (completed > RCU_TORTURE_PIPE_LEN) {
-               /* Should not happen, but... */
-               completed = RCU_TORTURE_PIPE_LEN;
-       }
--      __this_cpu_inc(per_cpu_var(rcu_torture_batch)[completed]);
-+      __this_cpu_inc(rcu_torture_batch[completed]);
-       preempt_enable();
-       cur_ops->readunlock(idx);
- }
-@@ -818,13 +818,13 @@ rcu_torture_reader(void *arg)
-                       /* Should not happen, but... */
-                       pipe_count = RCU_TORTURE_PIPE_LEN;
-               }
--              __this_cpu_inc(per_cpu_var(rcu_torture_count)[pipe_count]);
-+              __this_cpu_inc(rcu_torture_count[pipe_count]);
-               completed = cur_ops->completed() - completed;
-               if (completed > RCU_TORTURE_PIPE_LEN) {
-                       /* Should not happen, but... */
-                       completed = RCU_TORTURE_PIPE_LEN;
-               }
--              __this_cpu_inc(per_cpu_var(rcu_torture_batch)[completed]);
-+              __this_cpu_inc(rcu_torture_batch[completed]);
-               preempt_enable();
-               cur_ops->readunlock(idx);
-               schedule();
-diff --git a/kernel/trace/trace.c b/kernel/trace/trace.c
-index eac6875..667ba80 100644
---- a/kernel/trace/trace.c
-+++ b/kernel/trace/trace.c
-@@ -91,12 +91,12 @@ DEFINE_PER_CPU(int, ftrace_cpu_disabled);
- static inline void ftrace_disable_cpu(void)
- {
-       preempt_disable();
--      __this_cpu_inc(per_cpu_var(ftrace_cpu_disabled));
-+      __this_cpu_inc(ftrace_cpu_disabled);
- }
- 
- static inline void ftrace_enable_cpu(void)
- {
--      __this_cpu_dec(per_cpu_var(ftrace_cpu_disabled));
-+      __this_cpu_dec(ftrace_cpu_disabled);
-       preempt_enable();
- }
- 
-@@ -1089,7 +1089,7 @@ trace_function(struct trace_array *tr,
-       struct ftrace_entry *entry;
- 
-       /* If we are reading the ring buffer, don't trace */
--      if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled))))
-+      if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
-               return;
- 
-       event = trace_buffer_lock_reserve(buffer, TRACE_FN, sizeof(*entry),
-diff --git a/kernel/trace/trace_functions_graph.c 
b/kernel/trace/trace_functions_graph.c
-index b1342c5..9d976f3 100644
---- a/kernel/trace/trace_functions_graph.c
-+++ b/kernel/trace/trace_functions_graph.c
-@@ -187,7 +187,7 @@ static int __trace_graph_entry(struct trace_array *tr,
-       struct ring_buffer *buffer = tr->buffer;
-       struct ftrace_graph_ent_entry *entry;
- 
--      if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled))))
-+      if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
-               return 0;
- 
-       event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_ENT,
-@@ -251,7 +251,7 @@ static void __trace_graph_return(struct trace_array *tr,
-       struct ring_buffer *buffer = tr->buffer;
-       struct ftrace_graph_ret_entry *entry;
- 
--      if (unlikely(__this_cpu_read(per_cpu_var(ftrace_cpu_disabled))))
-+      if (unlikely(__this_cpu_read(ftrace_cpu_disabled)))
-               return;
- 
-       event = trace_buffer_lock_reserve(buffer, TRACE_GRAPH_RET,
--- 
-2.1.4
-
diff --git a/patches/v2.6.33/0004-percpu-make-access-macros-universal.patch 
b/patches/v2.6.33/0004-percpu-make-access-macros-universal.patch
deleted file mode 100644
index dad059b..0000000
--- a/patches/v2.6.33/0004-percpu-make-access-macros-universal.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-From 0f1950c0564935b58885a528ac81c6e743d1eaf6 Mon Sep 17 00:00:00 2001
-From: Tejun Heo <[email protected]>
-Date: Thu, 29 Oct 2009 22:34:15 +0900
-Subject: [PATCH 4/7] percpu: make access macros universal
-
-Now that per_cpu__ prefix is gone, there's no distinction between
-static and dynamic percpu variables.  Make get_cpu_var() take dynamic
-percpu variables and ensure that all macros have parentheses around
-the parameter evaluation and evaluate the variable parameter only once
-such that any expression which evaluates to percpu address can be used
-safely.
-
-Signed-off-by: Tejun Heo <[email protected]>
----
- include/linux/percpu.h | 23 ++++++++++++++---------
- 1 file changed, 14 insertions(+), 9 deletions(-)
-
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index 483de0f..ded03d0 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -27,10 +27,13 @@
-  * we force a syntax error here if it isn't.
-  */
- #define get_cpu_var(var) (*({                         \
--      extern int simple_identifier_##var(void);       \
-       preempt_disable();                              \
-       &__get_cpu_var(var); }))
--#define put_cpu_var(var) preempt_enable()
-+
-+#define put_cpu_var(var) do {                         \
-+      (void)(var);                                    \
-+      preempt_enable();                               \
-+} while (0)
- 
- #ifdef CONFIG_SMP
- 
-@@ -188,17 +191,19 @@ static inline void *pcpu_lpage_remapped(void *kaddr)
- #ifndef percpu_read
- # define percpu_read(var)                                             \
-   ({                                                                  \
--      typeof(var) __tmp_var__;                                        \
--      __tmp_var__ = get_cpu_var(var);                                 \
--      put_cpu_var(var);                                               \
--      __tmp_var__;                                                    \
-+      typeof(var) *pr_ptr__ = &(var);                                 \
-+      typeof(var) pr_ret__;                                           \
-+      pr_ret__ = get_cpu_var(*pr_ptr__);                              \
-+      put_cpu_var(*pr_ptr__);                                         \
-+      pr_ret__;                                                       \
-   })
- #endif
- 
- #define __percpu_generic_to_op(var, val, op)                          \
- do {                                                                  \
--      get_cpu_var(var) op val;                                        \
--      put_cpu_var(var);                                               \
-+      typeof(var) *pgto_ptr__ = &(var);                               \
-+      get_cpu_var(*pgto_ptr__) op val;                                \
-+      put_cpu_var(*pgto_ptr__);                                       \
- } while (0)
- 
- #ifndef percpu_write
-@@ -310,7 +315,7 @@ do {                                                       
                \
- #define _this_cpu_generic_to_op(pcp, val, op)                         \
- do {                                                                  \
-       preempt_disable();                                              \
--      *__this_cpu_ptr(&pcp) op val;                                   \
-+      *__this_cpu_ptr(&(pcp)) op val;                                 \
-       preempt_enable();                                               \
- } while (0)
- 
--- 
-2.1.4
-
diff --git a/patches/v2.6.33/0005-percpu-add-__percpu-for-sparse.patch 
b/patches/v2.6.33/0005-percpu-add-__percpu-for-sparse.patch
deleted file mode 100644
index ebb31eb..0000000
--- a/patches/v2.6.33/0005-percpu-add-__percpu-for-sparse.patch
+++ /dev/null
@@ -1,124 +0,0 @@
-From 9769cf89b2c71d303744da1ebb7f426f9ed7ea07 Mon Sep 17 00:00:00 2001
-From: Rusty Russell <[email protected]>
-Date: Thu, 29 Oct 2009 22:34:15 +0900
-Subject: [PATCH 5/7] percpu: add __percpu for sparse.
-
-We have to make __kernel "__attribute__((address_space(0)))" so we can
-cast to it.
-
-tj: * put_cpu_var() update.
-
-    * Annotations added to dynamic allocator interface.
-
-Signed-off-by: Rusty Russell <[email protected]>
-Cc: Al Viro <[email protected]>
-Signed-off-by: Tejun Heo <[email protected]>
----
- include/asm-generic/percpu.h |  4 +++-
- include/linux/compiler.h     |  2 +-
- include/linux/percpu-defs.h  |  2 +-
- include/linux/percpu.h       | 18 +++++++++++-------
- 4 files changed, 16 insertions(+), 10 deletions(-)
-
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index ca6f049..fded453 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -41,7 +41,9 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
-  * Only S390 provides its own means of moving the pointer.
-  */
- #ifndef SHIFT_PERCPU_PTR
--#define SHIFT_PERCPU_PTR(__p, __offset)       RELOC_HIDE((__p), (__offset))
-+/* Weird cast keeps both GCC and sparse happy. */
-+#define SHIFT_PERCPU_PTR(__p, __offset)                               \
-+      RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
- #endif
- 
- /*
-diff --git a/include/linux/compiler.h b/include/linux/compiler.h
-index 188fcae..a5a472b 100644
---- a/include/linux/compiler.h
-+++ b/include/linux/compiler.h
-@@ -5,7 +5,7 @@
- 
- #ifdef __CHECKER__
- # define __user               __attribute__((noderef, address_space(1)))
--# define __kernel     /* default address space */
-+# define __kernel     __attribute__((address_space(0)))
- # define __safe               __attribute__((safe))
- # define __force      __attribute__((force))
- # define __nocast     __attribute__((nocast))
-diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h
-index ee99f6c..0fa0cb5 100644
---- a/include/linux/percpu-defs.h
-+++ b/include/linux/percpu-defs.h
-@@ -12,7 +12,7 @@
-  * that section.
-  */
- #define __PCPU_ATTRS(sec)                                             \
--      __attribute__((section(PER_CPU_BASE_SECTION sec)))              \
-+      __percpu __attribute__((section(PER_CPU_BASE_SECTION sec)))     \
-       PER_CPU_ATTRIBUTES
- 
- #define __PCPU_DUMMY_ATTRS                                            \
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index ded03d0..a20a5b9 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -30,8 +30,12 @@
-       preempt_disable();                              \
-       &__get_cpu_var(var); }))
- 
-+/*
-+ * The weird & is necessary because sparse considers (void)(var) to be
-+ * a direct dereference of percpu variable (var).
-+ */
- #define put_cpu_var(var) do {                         \
--      (void)(var);                                    \
-+      (void)&(var);                                   \
-       preempt_enable();                               \
- } while (0)
- 
-@@ -130,9 +134,9 @@ extern int __init pcpu_page_first_chunk(size_t 
reserved_size,
-  */
- #define per_cpu_ptr(ptr, cpu) SHIFT_PERCPU_PTR((ptr), per_cpu_offset((cpu)))
- 
--extern void *__alloc_reserved_percpu(size_t size, size_t align);
--extern void *__alloc_percpu(size_t size, size_t align);
--extern void free_percpu(void *__pdata);
-+extern void __percpu *__alloc_reserved_percpu(size_t size, size_t align);
-+extern void __percpu *__alloc_percpu(size_t size, size_t align);
-+extern void free_percpu(void __percpu *__pdata);
- extern phys_addr_t per_cpu_ptr_to_phys(void *addr);
- 
- #ifndef CONFIG_HAVE_SETUP_PER_CPU_AREA
-@@ -143,7 +147,7 @@ extern void __init setup_per_cpu_areas(void);
- 
- #define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
- 
--static inline void *__alloc_percpu(size_t size, size_t align)
-+static inline void __percpu *__alloc_percpu(size_t size, size_t align)
- {
-       /*
-        * Can't easily make larger alignment work with kmalloc.  WARN
-@@ -154,7 +158,7 @@ static inline void *__alloc_percpu(size_t size, size_t 
align)
-       return kzalloc(size, GFP_KERNEL);
- }
- 
--static inline void free_percpu(void *p)
-+static inline void free_percpu(void __percpu *p)
- {
-       kfree(p);
- }
-@@ -174,7 +178,7 @@ static inline void *pcpu_lpage_remapped(void *kaddr)
- #endif /* CONFIG_SMP */
- 
- #define alloc_percpu(type)    \
--      (typeof(type) *)__alloc_percpu(sizeof(type), __alignof__(type))
-+      (typeof(type) __percpu *)__alloc_percpu(sizeof(type), __alignof__(type))
- 
- /*
-  * Optional methods for optimized non-lvalue per-cpu variable access.
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.33/0006-percpu-make-accessors-check-for-percpu-pointer-in-sp.patch
 
b/patches/v2.6.33/0006-percpu-make-accessors-check-for-percpu-pointer-in-sp.patch
deleted file mode 100644
index 5aaae3c..0000000
--- 
a/patches/v2.6.33/0006-percpu-make-accessors-check-for-percpu-pointer-in-sp.patch
+++ /dev/null
@@ -1,99 +0,0 @@
-From 4e386449e2f80f488b73ccd5fcc24646e519e1cf Mon Sep 17 00:00:00 2001
-From: Tejun Heo <[email protected]>
-Date: Thu, 29 Oct 2009 22:34:15 +0900
-Subject: [PATCH 6/7] percpu: make accessors check for percpu pointer in sparse
-
-The previous patch made sparse warn about percpu variables being used
-directly without going through percpu accessors.  This patch
-implements the other half - checking whether non percpu variable is
-passed into percpu accessors.
-
-Signed-off-by: Tejun Heo <[email protected]>
-Cc: Rusty Russell <[email protected]>
-Cc: Al Viro <[email protected]>
----
- include/asm-generic/percpu.h |  6 ++++--
- include/linux/percpu-defs.h  | 20 ++++++++++++++++++--
- include/linux/percpu.h       |  2 ++
- 3 files changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index fded453..04f91c2 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -42,8 +42,10 @@ extern unsigned long __per_cpu_offset[NR_CPUS];
-  */
- #ifndef SHIFT_PERCPU_PTR
- /* Weird cast keeps both GCC and sparse happy. */
--#define SHIFT_PERCPU_PTR(__p, __offset)                               \
--      RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset))
-+#define SHIFT_PERCPU_PTR(__p, __offset)       ({                              
\
-+      __verify_pcpu_ptr((__p));                                       \
-+      RELOC_HIDE((typeof(*(__p)) __kernel __force *)(__p), (__offset)); \
-+})
- #endif
- 
- /*
-diff --git a/include/linux/percpu-defs.h b/include/linux/percpu-defs.h
-index 0fa0cb5..1fa36eb 100644
---- a/include/linux/percpu-defs.h
-+++ b/include/linux/percpu-defs.h
-@@ -19,6 +19,16 @@
-       __attribute__((section(".discard"), unused))
- 
- /*
-+ * Macro which verifies @ptr is a percpu pointer without evaluating
-+ * @ptr.  This is to be used in percpu accessors to verify that the
-+ * input parameter is a percpu pointer.
-+ */
-+#define __verify_pcpu_ptr(ptr)        do {                                    
\
-+      void __percpu *__vpp_verify = (typeof(ptr))NULL;                \
-+      (void)__vpp_verify;                                             \
-+} while (0)
-+
-+/*
-  * s390 and alpha modules require percpu variables to be defined as
-  * weak to force the compiler to generate GOT based external
-  * references for them.  This is necessary because percpu sections
-@@ -129,10 +139,16 @@
-       __aligned(PAGE_SIZE)
- 
- /*
-- * Intermodule exports for per-CPU variables.
-+ * Intermodule exports for per-CPU variables.  sparse forgets about
-+ * address space across EXPORT_SYMBOL(), change EXPORT_SYMBOL() to
-+ * noop if __CHECKER__.
-  */
-+#ifndef __CHECKER__
- #define EXPORT_PER_CPU_SYMBOL(var) EXPORT_SYMBOL(var)
- #define EXPORT_PER_CPU_SYMBOL_GPL(var) EXPORT_SYMBOL_GPL(var)
--
-+#else
-+#define EXPORT_PER_CPU_SYMBOL(var)
-+#define EXPORT_PER_CPU_SYMBOL_GPL(var)
-+#endif
- 
- #endif /* _LINUX_PERCPU_DEFS_H */
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index a20a5b9..a93e5bf 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -243,6 +243,7 @@ extern void __bad_size_call_parameter(void);
- 
- #define __pcpu_size_call_return(stem, variable)                               
\
- ({    typeof(variable) pscr_ret__;                                    \
-+      __verify_pcpu_ptr(&(variable));                                 \
-       switch(sizeof(variable)) {                                      \
-       case 1: pscr_ret__ = stem##1(variable);break;                   \
-       case 2: pscr_ret__ = stem##2(variable);break;                   \
-@@ -256,6 +257,7 @@ extern void __bad_size_call_parameter(void);
- 
- #define __pcpu_size_call(stem, variable, ...)                         \
- do {                                                                  \
-+      __verify_pcpu_ptr(&(variable));                                 \
-       switch(sizeof(variable)) {                                      \
-               case 1: stem##1(variable, __VA_ARGS__);break;           \
-               case 2: stem##2(variable, __VA_ARGS__);break;           \
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.33/0007-percpu-handle-__percpu-notations-in-UP-accessors.patch 
b/patches/v2.6.33/0007-percpu-handle-__percpu-notations-in-UP-accessors.patch
deleted file mode 100644
index 0753474..0000000
--- 
a/patches/v2.6.33/0007-percpu-handle-__percpu-notations-in-UP-accessors.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 0cb1408852589280d204904c2b3145ea64784128 Mon Sep 17 00:00:00 2001
-From: Namhyung Kim <[email protected]>
-Date: Sat, 7 Aug 2010 03:26:23 +0900
-Subject: [PATCH 7/7] percpu: handle __percpu notations in UP accessors
-
-UP accessors didn't take care of __percpu notations leading to a lot
-of spurious sparse warnings on UP configurations.  Fix it.
-
-Signed-off-by: Namhyung Kim <[email protected]>
-Signed-off-by: Tejun Heo <[email protected]>
-Signed-off-by: Sven Eckelmann <[email protected]>
----
- include/asm-generic/percpu.h | 15 ++++++++++-----
- include/linux/percpu.h       |  2 +-
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index 04f91c2..b83d4e5 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -70,11 +70,16 @@ extern void setup_per_cpu_areas(void);
- 
- #else /* ! SMP */
- 
--#define per_cpu(var, cpu)                     (*((void)(cpu), &(var)))
--#define __get_cpu_var(var)                    (var)
--#define __raw_get_cpu_var(var)                        (var)
--#define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
--#define __this_cpu_ptr(ptr) this_cpu_ptr(ptr)
-+#define VERIFY_PERCPU_PTR(__p) ({                     \
-+      __verify_pcpu_ptr((__p));                       \
-+      (typeof(*(__p)) __kernel __force *)(__p);       \
-+})
-+
-+#define per_cpu(var, cpu)     (*((void)(cpu), VERIFY_PERCPU_PTR(&(var))))
-+#define __get_cpu_var(var)    (*VERIFY_PERCPU_PTR(&(var)))
-+#define __raw_get_cpu_var(var)        (*VERIFY_PERCPU_PTR(&(var)))
-+#define this_cpu_ptr(ptr)     per_cpu_ptr(ptr, 0)
-+#define __this_cpu_ptr(ptr)   this_cpu_ptr(ptr)
- 
- #endif        /* SMP */
- 
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index a93e5bf..94bbc04d1 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -145,7 +145,7 @@ extern void __init setup_per_cpu_areas(void);
- 
- #else /* CONFIG_SMP */
- 
--#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
-+#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR((ptr)); })
- 
- static inline void __percpu *__alloc_percpu(size_t size, size_t align)
- {
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.34/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch 
b/patches/v2.6.34/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
deleted file mode 100644
index 0d40dc6..0000000
--- 
a/patches/v2.6.34/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From a9bfdb4fd3c05767922a3a3bcb64d12c834a7fba Mon Sep 17 00:00:00 2001
-From: Namhyung Kim <[email protected]>
-Date: Sat, 7 Aug 2010 03:26:23 +0900
-Subject: [PATCH] percpu: handle __percpu notations in UP accessors
-
-UP accessors didn't take care of __percpu notations leading to a lot
-of spurious sparse warnings on UP configurations.  Fix it.
-
-Signed-off-by: Namhyung Kim <[email protected]>
-Signed-off-by: Tejun Heo <[email protected]>
-Signed-off-by: Sven Eckelmann <[email protected]>
----
- include/asm-generic/percpu.h |   15 ++++++++++-----
- include/linux/percpu.h       |    2 +-
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index 04f91c2..b83d4e5 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -70,11 +70,16 @@ extern void setup_per_cpu_areas(void);
- 
- #else /* ! SMP */
- 
--#define per_cpu(var, cpu)                     (*((void)(cpu), &(var)))
--#define __get_cpu_var(var)                    (var)
--#define __raw_get_cpu_var(var)                        (var)
--#define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
--#define __this_cpu_ptr(ptr) this_cpu_ptr(ptr)
-+#define VERIFY_PERCPU_PTR(__p) ({                     \
-+      __verify_pcpu_ptr((__p));                       \
-+      (typeof(*(__p)) __kernel __force *)(__p);       \
-+})
-+
-+#define per_cpu(var, cpu)     (*((void)(cpu), VERIFY_PERCPU_PTR(&(var))))
-+#define __get_cpu_var(var)    (*VERIFY_PERCPU_PTR(&(var)))
-+#define __raw_get_cpu_var(var)        (*VERIFY_PERCPU_PTR(&(var)))
-+#define this_cpu_ptr(ptr)     per_cpu_ptr(ptr, 0)
-+#define __this_cpu_ptr(ptr)   this_cpu_ptr(ptr)
- 
- #endif        /* SMP */
- 
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index d3a38d6..bc36301 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -143,7 +143,7 @@ extern void __init setup_per_cpu_areas(void);
- 
- #else /* CONFIG_SMP */
- 
--#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
-+#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR((ptr)); })
- 
- /* can't distinguish from other static vars, always false */
- static inline bool is_kernel_percpu_address(unsigned long addr)
--- 
-1.7.10
-
diff --git 
a/patches/v2.6.34/0002-missing-inline-keyword-for-static-function-in-linux-.patch
 
b/patches/v2.6.34/0002-missing-inline-keyword-for-static-function-in-linux-.patch
deleted file mode 100644
index 306c49a..0000000
--- 
a/patches/v2.6.34/0002-missing-inline-keyword-for-static-function-in-linux-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b7af370026f5accdaaaad5b6dd1605227060c9c4 Mon Sep 17 00:00:00 2001
-From: Mathieu Lacage <[email protected]>
-Date: Sat, 14 Aug 2010 15:02:44 +0200
-Subject: [PATCH] missing inline keyword for static function in
- linux/dmaengine.h
-
-Add a missing inline keyword for static function in linux/dmaengine.h to
-avoid duplicate symbol definitions.
-
-Signed-off-by: Mathieu Lacage <[email protected]>
-Signed-off-by: Dan Williams <[email protected]>
----
- include/linux/dmaengine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index 5204f01..57d2b76 100644
---- a/include/linux/dmaengine.h
-+++ b/include/linux/dmaengine.h
-@@ -477,7 +477,7 @@ static inline bool dma_dev_has_pq_continue(struct 
dma_device *dma)
-       return (dma->max_pq & DMA_HAS_PQ_CONTINUE) == DMA_HAS_PQ_CONTINUE;
- }
- 
--static unsigned short dma_dev_to_maxpq(struct dma_device *dma)
-+static inline unsigned short dma_dev_to_maxpq(struct dma_device *dma)
- {
-       return dma->max_pq & ~DMA_HAS_PQ_CONTINUE;
- }
--- 
-2.1.4
-
diff --git 
a/patches/v2.6.35/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch 
b/patches/v2.6.35/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
deleted file mode 100644
index b89bcbc..0000000
--- 
a/patches/v2.6.35/0001-percpu-handle-__percpu-notations-in-UP-accessors.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-From 52570a9ff2201945f529e910f68c7f30554b8ec1 Mon Sep 17 00:00:00 2001
-From: Namhyung Kim <[email protected]>
-Date: Sat, 7 Aug 2010 03:26:23 +0900
-Subject: [PATCH] percpu: handle __percpu notations in UP accessors
-
-UP accessors didn't take care of __percpu notations leading to a lot
-of spurious sparse warnings on UP configurations.  Fix it.
-
-Signed-off-by: Namhyung Kim <[email protected]>
-Signed-off-by: Tejun Heo <[email protected]>
-Signed-off-by: Sven Eckelmann <[email protected]>
----
- include/asm-generic/percpu.h |   15 ++++++++++-----
- include/linux/percpu.h       |    2 +-
- 2 files changed, 11 insertions(+), 6 deletions(-)
-
-diff --git a/include/asm-generic/percpu.h b/include/asm-generic/percpu.h
-index b5043a9..08923b6 100644
---- a/include/asm-generic/percpu.h
-+++ b/include/asm-generic/percpu.h
-@@ -70,11 +70,16 @@ extern void setup_per_cpu_areas(void);
- 
- #else /* ! SMP */
- 
--#define per_cpu(var, cpu)                     (*((void)(cpu), &(var)))
--#define __get_cpu_var(var)                    (var)
--#define __raw_get_cpu_var(var)                        (var)
--#define this_cpu_ptr(ptr) per_cpu_ptr(ptr, 0)
--#define __this_cpu_ptr(ptr) this_cpu_ptr(ptr)
-+#define VERIFY_PERCPU_PTR(__p) ({                     \
-+      __verify_pcpu_ptr((__p));                       \
-+      (typeof(*(__p)) __kernel __force *)(__p);       \
-+})
-+
-+#define per_cpu(var, cpu)     (*((void)(cpu), VERIFY_PERCPU_PTR(&(var))))
-+#define __get_cpu_var(var)    (*VERIFY_PERCPU_PTR(&(var)))
-+#define __raw_get_cpu_var(var)        (*VERIFY_PERCPU_PTR(&(var)))
-+#define this_cpu_ptr(ptr)     per_cpu_ptr(ptr, 0)
-+#define __this_cpu_ptr(ptr)   this_cpu_ptr(ptr)
- 
- #endif        /* SMP */
- 
-diff --git a/include/linux/percpu.h b/include/linux/percpu.h
-index d3a38d6..bc36301 100644
---- a/include/linux/percpu.h
-+++ b/include/linux/percpu.h
-@@ -143,7 +143,7 @@ extern void __init setup_per_cpu_areas(void);
- 
- #else /* CONFIG_SMP */
- 
--#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); (ptr); })
-+#define per_cpu_ptr(ptr, cpu) ({ (void)(cpu); VERIFY_PERCPU_PTR((ptr)); })
- 
- /* can't distinguish from other static vars, always false */
- static inline bool is_kernel_percpu_address(unsigned long addr)
--- 
-1.7.10
-
diff --git 
a/patches/v2.6.35/0002-missing-inline-keyword-for-static-function-in-linux-.patch
 
b/patches/v2.6.35/0002-missing-inline-keyword-for-static-function-in-linux-.patch
deleted file mode 100644
index 306c49a..0000000
--- 
a/patches/v2.6.35/0002-missing-inline-keyword-for-static-function-in-linux-.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From b7af370026f5accdaaaad5b6dd1605227060c9c4 Mon Sep 17 00:00:00 2001
-From: Mathieu Lacage <[email protected]>
-Date: Sat, 14 Aug 2010 15:02:44 +0200
-Subject: [PATCH] missing inline keyword for static function in
- linux/dmaengine.h
-
-Add a missing inline keyword for static function in linux/dmaengine.h to
-avoid duplicate symbol definitions.
-
-Signed-off-by: Mathieu Lacage <[email protected]>
-Signed-off-by: Dan Williams <[email protected]>
----
- include/linux/dmaengine.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/linux/dmaengine.h b/include/linux/dmaengine.h
-index 5204f01..57d2b76 100644
---- a/include/linux/dmaengine.h
-+++ b/include/linux/dmaengine.h
-@@ -477,7 +477,7 @@ static inline bool dma_dev_has_pq_continue(struct 
dma_device *dma)
-       return (dma->max_pq & DMA_HAS_PQ_CONTINUE) == DMA_HAS_PQ_CONTINUE;
- }
- 
--static unsigned short dma_dev_to_maxpq(struct dma_device *dma)
-+static inline unsigned short dma_dev_to_maxpq(struct dma_device *dma)
- {
-       return dma->max_pq & ~DMA_HAS_PQ_CONTINUE;
- }
--- 
-2.1.4
-
-- 
2.1.4

Reply via email to