From fad20174e68821fa611764393c02db4c2618c96e Mon Sep 17 00:00:00 2001
From: Robert Nelson <robertcnelson@gmail.com>
Date: Wed, 23 Mar 2011 19:28:27 -0500
Subject: [PATCH] merge to 2.6.38-git13

Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
---
 build_deb.sh                                  |   4 +-
 build_kernel.sh                               |   2 +
 patch.sh                                      |  13 ++
 .../0001-omap3-beaglexm-fix-user-button.patch |  34 ++++
 patches/defconfig                             |  10 +-
 patches/no_devtmps-defconfig                  |  10 +-
 ...ess-nodes-that-are-not-allowed-from-.patch |  46 +++++
 .../0001-smp-add-missing-init.h-include.patch |  43 +++++
 ...ess-show_mem-for-many-nodes-in-irq-c.patch |  48 +++++
 ...ess-nodes-that-are-not-allowed-from-.patch | 164 ++++++++++++++++++
 version.sh                                    |   2 +-
 11 files changed, 368 insertions(+), 8 deletions(-)
 create mode 100644 patches/beagle/0001-omap3-beaglexm-fix-user-button.patch
 create mode 100644 patches/trivial/0001-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch
 create mode 100644 patches/trivial/0001-smp-add-missing-init.h-include.patch
 create mode 100644 patches/trivial/0002-Revert-oom-suppress-show_mem-for-many-nodes-in-irq-c.patch
 create mode 100644 patches/trivial/0003-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch

diff --git a/build_deb.sh b/build_deb.sh
index 5c6f48769..ffaa81212 100755
--- a/build_deb.sh
+++ b/build_deb.sh
@@ -95,11 +95,13 @@ read -p "bisect look good... (y/n)? "
 
 function patch_kernel {
         cd ${DIR}/KERNEL
+    if [ ! "${LATEST_GIT}" ] ; then
         if [ "${PRE_RC}" ]; then
                 bzip2 -dc ${DIR}/patches/patch-${PRE_RC}.bz2 | patch -p1 -s
                 git add .
                 git commit -a -m ''$PRE_RC' patchset'
         fi
+    fi
         export DIR BISECT
         /bin/bash -e ${DIR}/patch.sh || { git add . ; exit 1 ; }
 
@@ -179,7 +181,7 @@ if [ "${NO_DEVTMPS}" ] ; then
 	echo ""
 else
 	echo ""
-	echo "Building for Debian Squeeze/Sid & Ubuntu 10.04/10.10/11.04"
+	echo "Building for Debian Squeeze/Wheezy/Sid & Ubuntu 10.04/10.10/11.04"
 	echo ""
 fi
 
diff --git a/build_kernel.sh b/build_kernel.sh
index 417ce6e76..01ce229c5 100755
--- a/build_kernel.sh
+++ b/build_kernel.sh
@@ -104,11 +104,13 @@ read -p "bisect look good... (y/n)? "
 
 function patch_kernel {
         cd ${DIR}/KERNEL
+    if [ ! "${LATEST_GIT}" ] ; then
         if [ "${PRE_RC}" ]; then
                 bzip2 -dc ${DIR}/patches/patch-${PRE_RC}.bz2 | patch -p1 -s
                 git add .
                 git commit -a -m ''$PRE_RC' patchset'
         fi
+    fi
         export DIR BISECT
         /bin/bash -e ${DIR}/patch.sh || { git add . ; exit 1 ; }
 
diff --git a/patch.sh b/patch.sh
index ce3a6962a..aaad5ea83 100644
--- a/patch.sh
+++ b/patch.sh
@@ -20,6 +20,18 @@ patch -s -p1 < "${DIR}/patches/trivial/0001-staging-add-airlink-awll7025-id-for-
 #[   14.962829] omapdss DISPC error: GFX_FIFO_UNDERFLOW, disabling GFX
 #patch -s -p1 < "${DIR}/patches/trivial/0001-Revert-OMAP-DSS2-OMAPFB-swap-front-and-back-porches-.patch"
 
+#needed for 2.6.38-git13, in mainline for git14
+patch -s -p1 < "${DIR}/patches/trivial/0001-smp-add-missing-init.h-include.patch"
+
+#needed for 2.6.38-git13, build failure:
+#lib/lib.a(show_mem.o): In function `show_mem':
+#show_mem.c:(.text+0x15c): multiple definition of `show_mem'
+#arch/arm/mm/built-in.o:cache-l2x0.c:(.text+0xdac): first defined here
+#make: *** [vmlinux.o] Error 1
+patch -s -p1 < "${DIR}/patches/trivial/0001-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch"
+patch -s -p1 < "${DIR}/patches/trivial/0002-Revert-oom-suppress-show_mem-for-many-nodes-in-irq-c.patch"
+patch -s -p1 < "${DIR}/patches/trivial/0003-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch"
+
 }
 
 function for_next {
@@ -532,6 +544,7 @@ patch -s -p1 < "${DIR}/patches/arago-project/0001-omap3-Increase-limit-on-bootar
 patch -s -p1 < "${DIR}/patches/beagle/0001-omap-mmc-Adjust-dto-to-eliminate-timeout-errors.patch"
 patch -s -p1 < "${DIR}/patches/beagle/0001-omap3-alsa-soc-Remove-restrictive-check-for-cpu-type.patch"
 patch -s -p1 < "${DIR}/patches/display/0001-meego-modedb-add-Toshiba-LTA070B220F-800x480-support.patch"
+patch -s -p1 < "${DIR}/patches/beagle/0001-omap3-beaglexm-fix-user-button.patch"
 
 #disabled in for_next merge
 #patch -s -p1 < "${DIR}/patches/beagle/0001-xM-audio-fix-from-Ashok.patch"
diff --git a/patches/beagle/0001-omap3-beaglexm-fix-user-button.patch b/patches/beagle/0001-omap3-beaglexm-fix-user-button.patch
new file mode 100644
index 000000000..50a1cb0f7
--- /dev/null
+++ b/patches/beagle/0001-omap3-beaglexm-fix-user-button.patch
@@ -0,0 +1,34 @@
+From b4eb5fbbd0b1a4f59168d89f387ec9e943a6055c Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Wed, 23 Mar 2011 11:28:19 -0500
+Subject: [PATCH] omap3: beaglexm: fix user button
+
+from: http://www.spinics.net/lists/linux-omap/msg48672.html
+added xMC check
+
+Signed-off-by: Robert Nelson <robertcnelson@gmail.com>
+---
+ arch/arm/mach-omap2/board-omap3beagle.c |    7 +++++++
+ 1 files changed, 7 insertions(+), 0 deletions(-)
+
+diff --git a/arch/arm/mach-omap2/board-omap3beagle.c b/arch/arm/mach-omap2/board-omap3beagle.c
+index d7881e8..10b33d7 100644
+--- a/arch/arm/mach-omap2/board-omap3beagle.c
++++ b/arch/arm/mach-omap2/board-omap3beagle.c
+@@ -802,6 +802,13 @@ static void __init omap3_beagle_init(void)
+ 	omap3_mux_init(board_mux, OMAP_PACKAGE_CBB);
+ 	omap3_beagle_init_rev();
+ 	omap3_beagle_i2c_init();
++
++	/* xM version uses pin 4 instead of 7 for user button */
++	if ((omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XM) ||
++		(omap3_beagle_get_rev() == OMAP3BEAGLE_BOARD_XMC)){
++		gpio_buttons[0].gpio = 4;
++	}
++
+ 	platform_add_devices(omap3_beagle_devices,
+ 			ARRAY_SIZE(omap3_beagle_devices));
+ 	omap_display_init(&beagle_dss_data);
+-- 
+1.7.1
+
diff --git a/patches/defconfig b/patches/defconfig
index 623056a4c..95158384a 100644
--- a/patches/defconfig
+++ b/patches/defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux/arm 2.6.38-git12 Kernel Configuration
-# Wed Mar 23 08:56:37 2011
+# Linux/arm 2.6.38-git13 Kernel Configuration
+# Wed Mar 23 18:20:56 2011
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -2676,6 +2676,7 @@ CONFIG_LCD_CLASS_DEVICE=m
 # CONFIG_LCD_VGG2432A4 is not set
 # CONFIG_LCD_PLATFORM is not set
 # CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_GENERIC=m
 # CONFIG_BACKLIGHT_ADP8860 is not set
@@ -3104,6 +3105,7 @@ CONFIG_LEDS_CLASS=y
 #
 # LED drivers
 #
+# CONFIG_LEDS_LM3530 is not set
 # CONFIG_LEDS_PCA9532 is not set
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_GPIO_PLATFORM=y
@@ -3558,6 +3560,7 @@ CONFIG_DLM=m
 # Kernel hacking
 #
 CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
 CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_FRAME_WARN=1024
@@ -3614,7 +3617,7 @@ CONFIG_DEBUG_MEMORY_INIT=y
 # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
 # CONFIG_FAULT_INJECTION is not set
 CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
 CONFIG_NOP_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
@@ -3653,6 +3656,7 @@ CONFIG_KGDB_SERIAL_CONSOLE=y
 # CONFIG_KGDB_TESTS is not set
 CONFIG_KGDB_KDB=y
 CONFIG_KDB_KEYBOARD=y
+# CONFIG_TEST_KSTRTOX is not set
 CONFIG_STRICT_DEVMEM=y
 CONFIG_ARM_UNWIND=y
 CONFIG_DEBUG_USER=y
diff --git a/patches/no_devtmps-defconfig b/patches/no_devtmps-defconfig
index a8ffbafc3..72755bff5 100644
--- a/patches/no_devtmps-defconfig
+++ b/patches/no_devtmps-defconfig
@@ -1,7 +1,7 @@
 #
 # Automatically generated make config: don't edit
-# Linux/arm 2.6.38-git12 Kernel Configuration
-# Wed Mar 23 08:56:37 2011
+# Linux/arm 2.6.38-git13 Kernel Configuration
+# Wed Mar 23 18:20:56 2011
 #
 CONFIG_ARM=y
 CONFIG_SYS_SUPPORTS_APM_EMULATION=y
@@ -2675,6 +2675,7 @@ CONFIG_LCD_CLASS_DEVICE=m
 # CONFIG_LCD_VGG2432A4 is not set
 # CONFIG_LCD_PLATFORM is not set
 # CONFIG_LCD_S6E63M0 is not set
+# CONFIG_LCD_LD9040 is not set
 CONFIG_BACKLIGHT_CLASS_DEVICE=y
 CONFIG_BACKLIGHT_GENERIC=m
 # CONFIG_BACKLIGHT_ADP8860 is not set
@@ -3103,6 +3104,7 @@ CONFIG_LEDS_CLASS=y
 #
 # LED drivers
 #
+# CONFIG_LEDS_LM3530 is not set
 # CONFIG_LEDS_PCA9532 is not set
 CONFIG_LEDS_GPIO=y
 CONFIG_LEDS_GPIO_PLATFORM=y
@@ -3557,6 +3559,7 @@ CONFIG_DLM=m
 # Kernel hacking
 #
 CONFIG_PRINTK_TIME=y
+CONFIG_DEFAULT_MESSAGE_LOGLEVEL=4
 CONFIG_ENABLE_WARN_DEPRECATED=y
 CONFIG_ENABLE_MUST_CHECK=y
 CONFIG_FRAME_WARN=1024
@@ -3613,7 +3616,7 @@ CONFIG_DEBUG_MEMORY_INIT=y
 # CONFIG_CPU_NOTIFIER_ERROR_INJECT is not set
 # CONFIG_FAULT_INJECTION is not set
 CONFIG_SYSCTL_SYSCALL_CHECK=y
-# CONFIG_PAGE_POISONING is not set
+# CONFIG_DEBUG_PAGEALLOC is not set
 CONFIG_NOP_TRACER=y
 CONFIG_HAVE_FUNCTION_TRACER=y
 CONFIG_HAVE_FUNCTION_GRAPH_TRACER=y
@@ -3652,6 +3655,7 @@ CONFIG_KGDB_SERIAL_CONSOLE=y
 # CONFIG_KGDB_TESTS is not set
 CONFIG_KGDB_KDB=y
 CONFIG_KDB_KEYBOARD=y
+# CONFIG_TEST_KSTRTOX is not set
 CONFIG_STRICT_DEVMEM=y
 CONFIG_ARM_UNWIND=y
 CONFIG_DEBUG_USER=y
diff --git a/patches/trivial/0001-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch b/patches/trivial/0001-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch
new file mode 100644
index 000000000..3efd746dc
--- /dev/null
+++ b/patches/trivial/0001-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch
@@ -0,0 +1,46 @@
+From 31fc84f4fd8c5b16a28501566bae61204b5cdb37 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Wed, 23 Mar 2011 19:17:13 -0500
+Subject: [PATCH 1/3] Revert "oom: suppress nodes that are not allowed from meminfo on page alloc failure"
+
+This reverts commit cbf978bfb12d7deca97d7333f65eda0381a072de.
+---
+ mm/page_alloc.c |   19 +++----------------
+ 1 files changed, 3 insertions(+), 16 deletions(-)
+
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 3a58221..47e4b42 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -2174,25 +2174,12 @@ rebalance:
+ 
+ nopage:
+ 	if (!(gfp_mask & __GFP_NOWARN) && printk_ratelimit()) {
+-		unsigned int filter = SHOW_MEM_FILTER_NODES;
+-
+-		/*
+-		 * This documents exceptions given to allocations in certain
+-		 * contexts that are allowed to allocate outside current's set
+-		 * of allowed nodes.
+-		 */
+-		if (!(gfp_mask & __GFP_NOMEMALLOC))
+-			if (test_thread_flag(TIF_MEMDIE) ||
+-			    (current->flags & (PF_MEMALLOC | PF_EXITING)))
+-				filter &= ~SHOW_MEM_FILTER_NODES;
+-		if (in_interrupt() || !wait)
+-			filter &= ~SHOW_MEM_FILTER_NODES;
+-
+-		pr_warning("%s: page allocation failure. order:%d, mode:0x%x\n",
++		printk(KERN_WARNING "%s: page allocation failure."
++			" order:%d, mode:0x%x\n",
+ 			current->comm, order, gfp_mask);
+ 		dump_stack();
+ 		if (!should_suppress_show_mem())
+-			__show_mem(filter);
++			show_mem();
+ 	}
+ 	return page;
+ got_pg:
+-- 
+1.7.1
+
diff --git a/patches/trivial/0001-smp-add-missing-init.h-include.patch b/patches/trivial/0001-smp-add-missing-init.h-include.patch
new file mode 100644
index 000000000..9c46ade99
--- /dev/null
+++ b/patches/trivial/0001-smp-add-missing-init.h-include.patch
@@ -0,0 +1,43 @@
+From 04948c7f80b9446009c1c4791bb93e79729724fb Mon Sep 17 00:00:00 2001
+From: Heiko Carstens <heiko.carstens@de.ibm.com>
+Date: Wed, 23 Mar 2011 08:24:58 +0100
+Subject: [PATCH] smp: add missing init.h include
+
+Commit 34db18a054c6 ("smp: move smp setup functions to kernel/smp.c")
+causes this build error on s390 because of a missing init.h include:
+
+  CC      arch/s390/kernel/asm-offsets.s
+  In file included from /home2/heicarst/linux-2.6/arch/s390/include/asm/spinlock.h:14:0,
+  from include/linux/spinlock.h:87,
+  from include/linux/seqlock.h:29,
+  from include/linux/time.h:8,
+  from include/linux/timex.h:56,
+  from include/linux/sched.h:57,
+  from arch/s390/kernel/asm-offsets.c:10:
+  include/linux/smp.h:117:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'setup_nr_cpu_ids'
+  include/linux/smp.h:118:20: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'smp_init'
+
+Fix it by adding the include statement.
+
+Signed-off-by: Heiko Carstens <heiko.carstens@de.ibm.com>
+Acked-by: WANG Cong <amwang@redhat.com>
+Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
+---
+ include/linux/smp.h |    1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/include/linux/smp.h b/include/linux/smp.h
+index 48159dd..74243c8 100644
+--- a/include/linux/smp.h
++++ b/include/linux/smp.h
+@@ -10,6 +10,7 @@
+ #include <linux/types.h>
+ #include <linux/list.h>
+ #include <linux/cpumask.h>
++#include <linux/init.h>
+ 
+ extern void cpu_idle(void);
+ 
+-- 
+1.7.1
+
diff --git a/patches/trivial/0002-Revert-oom-suppress-show_mem-for-many-nodes-in-irq-c.patch b/patches/trivial/0002-Revert-oom-suppress-show_mem-for-many-nodes-in-irq-c.patch
new file mode 100644
index 000000000..39276cd22
--- /dev/null
+++ b/patches/trivial/0002-Revert-oom-suppress-show_mem-for-many-nodes-in-irq-c.patch
@@ -0,0 +1,48 @@
+From 1b06225458fef654145ee91fa4ed038ec5faf008 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Wed, 23 Mar 2011 19:17:26 -0500
+Subject: [PATCH 2/3] Revert "oom: suppress show_mem() for many nodes in irq context on page alloc failure"
+
+This reverts commit 29423e77c06cee7d4e335ef4a7cbd949da978c91.
+---
+ mm/page_alloc.c |   17 +----------------
+ 1 files changed, 1 insertions(+), 16 deletions(-)
+
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index 47e4b42..c14d614 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -1717,20 +1717,6 @@ try_next_zone:
+ 	return page;
+ }
+ 
+-/*
+- * Large machines with many possible nodes should not always dump per-node
+- * meminfo in irq context.
+- */
+-static inline bool should_suppress_show_mem(void)
+-{
+-	bool ret = false;
+-
+-#if NODES_SHIFT > 8
+-	ret = in_interrupt();
+-#endif
+-	return ret;
+-}
+-
+ static inline int
+ should_alloc_retry(gfp_t gfp_mask, unsigned int order,
+ 				unsigned long pages_reclaimed)
+@@ -2178,8 +2164,7 @@ nopage:
+ 			" order:%d, mode:0x%x\n",
+ 			current->comm, order, gfp_mask);
+ 		dump_stack();
+-		if (!should_suppress_show_mem())
+-			show_mem();
++		show_mem();
+ 	}
+ 	return page;
+ got_pg:
+-- 
+1.7.1
+
diff --git a/patches/trivial/0003-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch b/patches/trivial/0003-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch
new file mode 100644
index 000000000..4e02893b3
--- /dev/null
+++ b/patches/trivial/0003-Revert-oom-suppress-nodes-that-are-not-allowed-from-.patch
@@ -0,0 +1,164 @@
+From dfbc3373592ac32f24a1864980221a5c619905e9 Mon Sep 17 00:00:00 2001
+From: Robert Nelson <robertcnelson@gmail.com>
+Date: Wed, 23 Mar 2011 19:17:38 -0500
+Subject: [PATCH 3/3] Revert "oom: suppress nodes that are not allowed from meminfo on oom kill"
+
+This reverts commit ddd588b5dd55f14320379961e47683db4e4c1d90.
+---
+ include/linux/mm.h |    8 --------
+ lib/show_mem.c     |    9 ++-------
+ mm/oom_kill.c      |    2 +-
+ mm/page_alloc.c    |   34 +---------------------------------
+ 4 files changed, 4 insertions(+), 49 deletions(-)
+
+diff --git a/include/linux/mm.h b/include/linux/mm.h
+index 294104e..a5f9e3b 100644
+--- a/include/linux/mm.h
++++ b/include/linux/mm.h
+@@ -860,14 +860,7 @@ extern void pagefault_out_of_memory(void);
+ 
+ #define offset_in_page(p)	((unsigned long)(p) & ~PAGE_MASK)
+ 
+-/*
+- * Flags passed to __show_mem() and __show_free_areas() to suppress output in
+- * various contexts.
+- */
+-#define SHOW_MEM_FILTER_NODES	(0x0001u)	/* filter disallowed nodes */
+-
+ extern void show_free_areas(void);
+-extern void __show_free_areas(unsigned int flags);
+ 
+ int shmem_lock(struct file *file, int lock, struct user_struct *user);
+ struct file *shmem_file_setup(const char *name, loff_t size, unsigned long flags);
+@@ -1359,7 +1352,6 @@ extern void calculate_zone_inactive_ratio(struct zone *zone);
+ extern void mem_init(void);
+ extern void __init mmap_init(void);
+ extern void show_mem(void);
+-extern void __show_mem(unsigned int flags);
+ extern void si_meminfo(struct sysinfo * val);
+ extern void si_meminfo_node(struct sysinfo *val, int nid);
+ extern int after_bootmem;
+diff --git a/lib/show_mem.c b/lib/show_mem.c
+index d8d602b..fdc77c8 100644
+--- a/lib/show_mem.c
++++ b/lib/show_mem.c
+@@ -9,14 +9,14 @@
+ #include <linux/nmi.h>
+ #include <linux/quicklist.h>
+ 
+-void __show_mem(unsigned int filter)
++void show_mem(void)
+ {
+ 	pg_data_t *pgdat;
+ 	unsigned long total = 0, reserved = 0, shared = 0,
+ 		nonshared = 0, highmem = 0;
+ 
+ 	printk("Mem-Info:\n");
+-	__show_free_areas(filter);
++	show_free_areas();
+ 
+ 	for_each_online_pgdat(pgdat) {
+ 		unsigned long i, flags;
+@@ -61,8 +61,3 @@ void __show_mem(unsigned int filter)
+ 		quicklist_total_size());
+ #endif
+ }
+-
+-void show_mem(void)
+-{
+-	__show_mem(0);
+-}
+diff --git a/mm/oom_kill.c b/mm/oom_kill.c
+index 3100bc5..33b5861 100644
+--- a/mm/oom_kill.c
++++ b/mm/oom_kill.c
+@@ -406,7 +406,7 @@ static void dump_header(struct task_struct *p, gfp_t gfp_mask, int order,
+ 	task_unlock(current);
+ 	dump_stack();
+ 	mem_cgroup_print_oom_info(mem, p);
+-	__show_mem(SHOW_MEM_FILTER_NODES);
++	show_mem();
+ 	if (sysctl_oom_dump_tasks)
+ 		dump_tasks(mem, nodemask);
+ }
+diff --git a/mm/page_alloc.c b/mm/page_alloc.c
+index c14d614..a8605b3 100644
+--- a/mm/page_alloc.c
++++ b/mm/page_alloc.c
+@@ -2414,42 +2414,19 @@ void si_meminfo_node(struct sysinfo *val, int nid)
+ }
+ #endif
+ 
+-/*
+- * Determine whether the zone's node should be displayed or not, depending on
+- * whether SHOW_MEM_FILTER_NODES was passed to __show_free_areas().
+- */
+-static bool skip_free_areas_zone(unsigned int flags, const struct zone *zone)
+-{
+-	bool ret = false;
+-
+-	if (!(flags & SHOW_MEM_FILTER_NODES))
+-		goto out;
+-
+-	get_mems_allowed();
+-	ret = !node_isset(zone->zone_pgdat->node_id,
+-				cpuset_current_mems_allowed);
+-	put_mems_allowed();
+-out:
+-	return ret;
+-}
+-
+ #define K(x) ((x) << (PAGE_SHIFT-10))
+ 
+ /*
+  * Show free area list (used inside shift_scroll-lock stuff)
+  * We also calculate the percentage fragmentation. We do this by counting the
+  * memory on each free list with the exception of the first item on the list.
+- * Suppresses nodes that are not allowed by current's cpuset if
+- * SHOW_MEM_FILTER_NODES is passed.
+  */
+-void __show_free_areas(unsigned int filter)
++void show_free_areas(void)
+ {
+ 	int cpu;
+ 	struct zone *zone;
+ 
+ 	for_each_populated_zone(zone) {
+-		if (skip_free_areas_zone(filter, zone))
+-			continue;
+ 		show_node(zone);
+ 		printk("%s per-cpu:\n", zone->name);
+ 
+@@ -2491,8 +2468,6 @@ void __show_free_areas(unsigned int filter)
+ 	for_each_populated_zone(zone) {
+ 		int i;
+ 
+-		if (skip_free_areas_zone(filter, zone))
+-			continue;
+ 		show_node(zone);
+ 		printk("%s"
+ 			" free:%lukB"
+@@ -2560,8 +2535,6 @@ void __show_free_areas(unsigned int filter)
+ 	for_each_populated_zone(zone) {
+  		unsigned long nr[MAX_ORDER], flags, order, total = 0;
+ 
+-		if (skip_free_areas_zone(filter, zone))
+-			continue;
+ 		show_node(zone);
+ 		printk("%s: ", zone->name);
+ 
+@@ -2581,11 +2554,6 @@ void __show_free_areas(unsigned int filter)
+ 	show_swap_cache_info();
+ }
+ 
+-void show_free_areas(void)
+-{
+-	__show_free_areas(0);
+-}
+-
+ static void zoneref_set_zone(struct zone *zone, struct zoneref *zoneref)
+ {
+ 	zoneref->zone = zone;
+-- 
+1.7.1
+
diff --git a/version.sh b/version.sh
index 0ede88e81..0c2e4c483 100644
--- a/version.sh
+++ b/version.sh
@@ -4,7 +4,7 @@ unset BUILD
 
 KERNEL_REL=2.6.38
 #STABLE_PATCH=.1
-PRE_RC=2.6.38-git12
+PRE_RC=2.6.38-git13
 #RC_KERNEL=2.6.38
 #RC_PATCH=-rc8
 ABI=1
-- 
GitLab