Browse files

MN10300: Don't try and #include <linux/slab.h> in lib/inflate.c from …


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 <>
Signed-off-by: Linus Torvalds <>
  • Loading branch information...
dhowells authored and torvalds committed Aug 12, 2010
1 parent 019fca8 commit 1490cf5f0cb07dd49cdab4bceb769d7f711d7ca6
Showing with 3 additions and 0 deletions.
  1. +1 −0 arch/mn10300/boot/compressed/misc.c
  2. +2 −0 lib/inflate.c
@@ -167,6 +167,7 @@ static uch *high_buffer_start /* = (uch *)(((ulg)&end) + HEAP_SIZE)*/;
static char *vidmem = (char *)0xb8000;
static int lines, cols;
#include "../../../../lib/inflate.c"
static inline void scroll(void)
@@ -103,7 +103,9 @@
the two sets of lengths.
#include <linux/compiler.h>
#include <linux/slab.h>
#ifdef RCSID
static char rcsid[] = "#Id: inflate.c,v 0.14 1993/06/10 13:27:04 jloup Exp #";

0 comments on commit 1490cf5

Please sign in to comment.