diff options
author | David Howells <dhowells@redhat.com> | 2010-08-12 11:54:52 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2010-08-12 12:51:35 -0400 |
commit | 1490cf5f0cb07dd49cdab4bceb769d7f711d7ca6 (patch) | |
tree | 368983c4a0e92467368bb41c2cc326611aa0f31e | |
parent | 019fca84e7c4b94817abc77df9081ba208fcc46a (diff) |
MN10300: Don't try and #include <linux/slab.h> in lib/inflate.c from bootloader
Don't try and #include <linux/slab.h> in lib/inflate.c from the bootloader code
as linux/slab.h hauls in function defs that aren't available in the bootloader
code and may also haul in conflicting functions.
To fix this, make the inclusion of linux/slab.h contingent on NO_INFLATE_MALLOC
as are the usages of kmalloc() and kfree().
In MN10300, this causes the following errors:
In file included from include/linux/string.h:21,
from include/linux/bitmap.h:8,
from include/linux/nodemask.h:93,
from include/linux/mmzone.h:16,
from include/linux/gfp.h:4,
from include/linux/slab.h:12,
from arch/mn10300/boot/compressed/../../../../lib/inflate.c:106,
from arch/mn10300/boot/compressed/misc.c:170:
/warthog/am33/linux-2.6-mn10300/arch/mn10300/include/asm/string.h:19: error: conflicting types for 'memset'
arch/mn10300/boot/compressed/misc.c:59: error: previous definition of 'memset' was here
Signed-off-by: David Howells <dhowells@redhat.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | arch/mn10300/boot/compressed/misc.c | 1 | ||||
-rw-r--r-- | lib/inflate.c | 2 |
2 files changed, 3 insertions, 0 deletions
diff --git a/arch/mn10300/boot/compressed/misc.c b/arch/mn10300/boot/compressed/misc.c index f673383518e4..42cbd77bd439 100644 --- a/arch/mn10300/boot/compressed/misc.c +++ b/arch/mn10300/boot/compressed/misc.c | |||
@@ -167,6 +167,7 @@ static uch *high_buffer_start /* = (uch *)(((ulg)&end) + HEAP_SIZE)*/; | |||
167 | static char *vidmem = (char *)0xb8000; | 167 | static char *vidmem = (char *)0xb8000; |
168 | static int lines, cols; | 168 | static int lines, cols; |
169 | 169 | ||
170 | #define BOOTLOADER_INFLATE | ||
170 | #include "../../../../lib/inflate.c" | 171 | #include "../../../../lib/inflate.c" |
171 | 172 | ||
172 | static inline void scroll(void) | 173 | static inline void scroll(void) |
diff --git a/lib/inflate.c b/lib/inflate.c index 677b738c2204..013a76193481 100644 --- a/lib/inflate.c +++ b/lib/inflate.c | |||
@@ -103,7 +103,9 @@ | |||
103 | the two sets of lengths. | 103 | the two sets of lengths. |
104 | */ | 104 | */ |
105 | #include <linux/compiler.h> | 105 | #include <linux/compiler.h> |
106 | #ifdef NO_INFLATE_MALLOC | ||
106 | #include <linux/slab.h> | 107 | #include <linux/slab.h> |
108 | #endif | ||
107 | 109 | ||
108 | #ifdef RCSID | 110 | #ifdef RCSID |
109 | static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #"; | 111 | static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #"; |