Commit 7f9d77d7 authored by David Woodhouse's avatar David Woodhouse Committed by Linus Torvalds

[PATCH] Fix 'make headers_check' for Alpha

Alpha currently fails 'make headers_check' in the 2.6.18-rc kernels.  This
patch fixes it, by moving the existing #ifdef __KERNEL__ in asm/page.h so that
it covers everything that userspace shouldn't so, and by adding asm/compiler.h
to the list of exported files so that its use within asm/byteorder.h is
successful.

[ Note that at least with GCC 4, <linux/compiler.h> doesn't do the forced
  inlining about which there are nasty comments (and a workaround) in
  <asm/compiler.h>, unless you set CONFIG_FORCED_INLINING.  Rather than keep
  the mess you have in <asm/compiler.h> you could perhaps just make sure
  CONFIG_FORCED_INLINING=n is also honoured with GCC3, and make sure it cannot
  be set for Alpha? ]
Signed-off-by: default avatarDavid Woodhouse <dwmw2@infradead.org>
Cc: Sam Ravnborg <sam@ravnborg.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 75da736f
include include/asm-generic/Kbuild.asm include include/asm-generic/Kbuild.asm
unifdef-y += console.h fpu.h sysinfo.h unifdef-y += console.h fpu.h sysinfo.h compiler.h
header-y += gentrap.h regdef.h pal.h reg.h header-y += gentrap.h regdef.h pal.h reg.h
...@@ -90,6 +90,7 @@ ...@@ -90,6 +90,7 @@
__asm__("stw %1,%0" : "=m"(mem) : "r"(val)) __asm__("stw %1,%0" : "=m"(mem) : "r"(val))
#endif #endif
#ifdef __KERNEL__
/* Some idiots over in <linux/compiler.h> thought inline should imply /* Some idiots over in <linux/compiler.h> thought inline should imply
always_inline. This breaks stuff. We'll include this file whenever always_inline. This breaks stuff. We'll include this file whenever
we run into such problems. */ we run into such problems. */
...@@ -101,4 +102,6 @@ ...@@ -101,4 +102,6 @@
#undef __always_inline #undef __always_inline
#define __always_inline inline __attribute__((always_inline)) #define __always_inline inline __attribute__((always_inline))
#endif /* __KERNEL__ */
#endif /* __ALPHA_COMPILER_H */ #endif /* __ALPHA_COMPILER_H */
#ifndef _ALPHA_PAGE_H #ifndef _ALPHA_PAGE_H
#define _ALPHA_PAGE_H #define _ALPHA_PAGE_H
#ifdef __KERNEL__
#include <asm/pal.h> #include <asm/pal.h>
/* PAGE_SHIFT determines the page size */ /* PAGE_SHIFT determines the page size */
...@@ -8,8 +10,6 @@ ...@@ -8,8 +10,6 @@
#define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_SIZE (1UL << PAGE_SHIFT)
#define PAGE_MASK (~(PAGE_SIZE-1)) #define PAGE_MASK (~(PAGE_SIZE-1))
#ifdef __KERNEL__
#ifndef __ASSEMBLY__ #ifndef __ASSEMBLY__
#define STRICT_MM_TYPECHECKS #define STRICT_MM_TYPECHECKS
...@@ -92,9 +92,9 @@ typedef unsigned long pgprot_t; ...@@ -92,9 +92,9 @@ typedef unsigned long pgprot_t;
#define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \
VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC)
#endif /* __KERNEL__ */
#include <asm-generic/memory_model.h> #include <asm-generic/memory_model.h>
#include <asm-generic/page.h> #include <asm-generic/page.h>
#endif /* __KERNEL__ */
#endif /* _ALPHA_PAGE_H */ #endif /* _ALPHA_PAGE_H */
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment