diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-24 14:55:52 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-09-24 14:55:52 -0700 |
commit | 398477d4bd57cc33792fd93035c2763ad78629c4 (patch) | |
tree | 8a9cc1cd2f371843f6242b877cbdce9e109a06ed | |
parent | 6e936d3e9a45a4307e7f4a29ee9829e7a0464af1 (diff) | |
parent | 6d71627581e96efb3717960b79fc2167a4617977 (diff) | |
download | lwn-398477d4bd57cc33792fd93035c2763ad78629c4.tar.gz lwn-398477d4bd57cc33792fd93035c2763ad78629c4.zip |
Merge git://git.infradead.org/~dwmw2/khdrs-2.6
* git://git.infradead.org/~dwmw2/khdrs-2.6:
New 'make headers_install_all' target.
Use dependencies for 'make headers_install'.
[S390] Unexport <asm/z90crypt.h>, export <asm/zcrypt.h> in its place.
Remove dead netfilter_logging.h from include/linux/Kbuild
Remove offsetof() from user-visible <linux/stddef.h>
Clean up exported headers on CRIS
Fix v850 exported headers
Don't advertise (or allow) headers_{install,check} where inappropriate.
Remove UML header export
Remove ARM26 header export.
Fix H8300 exported headers.
Fix m68knommu exported headers
Fix exported headers for SPARC, SPARC64
Fix 'make headers_check' on m32r
Fix 'make headers_check' on sh64
Fix 'make headers_check' on sh
[HEADERS] Fix ARM 'make headers_check'
Initial pass of manual conflict resolution in top-level Makefile over
conflicting build rule and headers_install changes.
39 files changed, 171 insertions, 142 deletions
@@ -921,8 +921,20 @@ depend dep: INSTALL_HDR_PATH=$(objtree)/usr export INSTALL_HDR_PATH +HDRARCHES=$(filter-out generic,$(patsubst $(srctree)/include/asm-%/Kbuild,%,$(wildcard $(srctree)/include/asm-*/Kbuild))) + +PHONY += headers_install_all +headers_install_all: include/linux/version.h scripts_basic FORCE + $(Q)$(MAKE) $(build)=scripts scripts/unifdef + $(Q)for arch in $(HDRARCHES); do \ + $(MAKE) ARCH=$$arch -f $(srctree)/scripts/Makefile.headersinst obj=include BIASMDIR=-bi-$$arch ;\ + done + PHONY += headers_install headers_install: include/linux/version.h scripts_basic FORCE + @if [ ! -r include/asm-$(ARCH)/Kbuild ]; then \ + echo '*** Error: Headers not exportable for this architecture ($(ARCH))'; \ + exit 1 ; fi $(Q)$(MAKE) $(build)=scripts scripts/unifdef $(Q)rm -rf $(INSTALL_HDR_PATH)/include $(Q)$(MAKE) -f $(srctree)/scripts/Makefile.headersinst obj=include @@ -1107,13 +1119,17 @@ help: @echo ' cscope - Generate cscope index' @echo ' kernelrelease - Output the release version string' @echo ' kernelversion - Output the version stored in Makefile' - @echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH' + @if [ -r include/asm-$(ARCH)/Kbuild ]; then \ + echo ' headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH'; \ + fi @echo ' (default: $(INSTALL_HDR_PATH))' @echo '' @echo 'Static analysers' @echo ' checkstack - Generate a list of stack hogs' @echo ' namespacecheck - Name space analysis on compiled kernel' - @echo ' headers_check - Sanity check on exported headers' + @if [ -r include/asm-$(ARCH)/Kbuild ]; then \ + echo ' headers_check - Sanity check on exported headers'; \ + fi @echo '' @echo 'Kernel packaging:' @$(MAKE) $(build)=$(package-dir) help diff --git a/arch/sh/kernel/process.c b/arch/sh/kernel/process.c index 22dc9c21201d..f2031314cb2b 100644 --- a/arch/sh/kernel/process.c +++ b/arch/sh/kernel/process.c @@ -26,6 +26,7 @@ #include <asm/uaccess.h> #include <asm/mmu_context.h> #include <asm/elf.h> +#include <asm/ubc.h> static int hlt_counter=0; diff --git a/include/asm-arm/elf.h b/include/asm-arm/elf.h index ae7baa6c73f7..17f0c656d272 100644 --- a/include/asm-arm/elf.h +++ b/include/asm-arm/elf.h @@ -8,9 +8,6 @@ #include <asm/ptrace.h> #include <asm/user.h> -#ifdef __KERNEL -#include <asm/procinfo.h> -#endif typedef unsigned long elf_greg_t; typedef unsigned long elf_freg_t[3]; @@ -32,11 +29,6 @@ typedef elf_greg_t elf_gregset_t[ELF_NGREG]; typedef struct user_fp elf_fpregset_t; /* - * This is used to ensure we don't load something for the wrong architecture. - */ -#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) ) - -/* * These are used to set parameters in the core dumps. */ #define ELF_CLASS ELFCLASS32 @@ -47,6 +39,14 @@ typedef struct user_fp elf_fpregset_t; #endif #define ELF_ARCH EM_ARM +#ifdef __KERNEL__ +#include <asm/procinfo.h> + +/* + * This is used to ensure we don't load something for the wrong architecture. + */ +#define elf_check_arch(x) ( ((x)->e_machine == EM_ARM) && (ELF_PROC_OK((x))) ) + #define USE_ELF_CORE_DUMP #define ELF_EXEC_PAGESIZE 4096 @@ -83,8 +83,6 @@ typedef struct user_fp elf_fpregset_t; extern char elf_platform[]; #define ELF_PLATFORM (elf_platform) -#ifdef __KERNEL__ - /* * 32-bit code is always OK. Some cpus can do 26-bit, some can't. */ diff --git a/include/asm-arm/page.h b/include/asm-arm/page.h index b721270b9986..02bd3ee935b0 100644 --- a/include/asm-arm/page.h +++ b/include/asm-arm/page.h @@ -11,13 +11,13 @@ #define _ASMARM_PAGE_H +#ifdef __KERNEL__ + /* PAGE_SHIFT determines the page size */ #define PAGE_SHIFT 12 #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - /* to align the pointer to the (next) page boundary */ #define PAGE_ALIGN(addr) (((addr)+PAGE_SIZE-1)&PAGE_MASK) diff --git a/include/asm-arm26/Kbuild b/include/asm-arm26/Kbuild deleted file mode 100644 index c68e1680da01..000000000000 --- a/include/asm-arm26/Kbuild +++ /dev/null @@ -1 +0,0 @@ -include include/asm-generic/Kbuild.asm diff --git a/include/asm-cris/Kbuild b/include/asm-cris/Kbuild index c68e1680da01..14498d5a2f65 100644 --- a/include/asm-cris/Kbuild +++ b/include/asm-cris/Kbuild @@ -1 +1,5 @@ include include/asm-generic/Kbuild.asm + +header-y += arch-v10/ arch-v32/ + +unifdef-y += rs485.h diff --git a/include/asm-cris/arch-v10/Kbuild b/include/asm-cris/arch-v10/Kbuild new file mode 100644 index 000000000000..d7f27dc0941a --- /dev/null +++ b/include/asm-cris/arch-v10/Kbuild @@ -0,0 +1,2 @@ +header-y += ptrace.h +header-y += user.h diff --git a/include/asm-cris/arch-v32/Kbuild b/include/asm-cris/arch-v32/Kbuild new file mode 100644 index 000000000000..d7f27dc0941a --- /dev/null +++ b/include/asm-cris/arch-v32/Kbuild @@ -0,0 +1,2 @@ +header-y += ptrace.h +header-y += user.h diff --git a/include/asm-cris/byteorder.h b/include/asm-cris/byteorder.h index a1a222adaa9f..0cd9db1cc888 100644 --- a/include/asm-cris/byteorder.h +++ b/include/asm-cris/byteorder.h @@ -3,14 +3,15 @@ #ifdef __GNUC__ +#ifdef __KERNEL__ #include <asm/arch/byteorder.h> /* defines are necessary because the other files detect the presence * of a defined __arch_swab32, not an inline */ - #define __arch__swab32(x) ___arch__swab32(x) #define __arch__swab16(x) ___arch__swab16(x) +#endif /* __KERNEL__ */ #if !defined(__STRICT_ANSI__) || defined(__KERNEL__) # define __BYTEORDER_HAS_U64__ diff --git a/include/asm-cris/elf.h b/include/asm-cris/elf.h index 87a60bd8e667..96a40c1de57c 100644 --- a/include/asm-cris/elf.h +++ b/include/asm-cris/elf.h @@ -5,7 +5,6 @@ * ELF register definitions.. */ -#include <asm/arch/elf.h> #include <asm/user.h> #define R_CRIS_NONE 0 @@ -46,6 +45,9 @@ typedef unsigned long elf_fpregset_t; #define ELF_DATA ELFDATA2LSB #define ELF_ARCH EM_CRIS +#ifdef __KERNEL__ +#include <asm/arch/elf.h> + /* The master for these definitions is {binutils}/include/elf/cris.h: */ /* User symbols in this file have a leading underscore. */ #define EF_CRIS_UNDERSCORE 0x00000001 @@ -87,8 +89,8 @@ typedef unsigned long elf_fpregset_t; #define ELF_PLATFORM (NULL) -#ifdef __KERNEL__ #define SET_PERSONALITY(ex, ibcs2) set_personality((ibcs2)?PER_SVR4:PER_LINUX) -#endif + +#endif /* __KERNEL__ */ #endif diff --git a/include/asm-cris/page.h b/include/asm-cris/page.h index 81832e9e157f..9f13c32552bf 100644 --- a/include/asm-cris/page.h +++ b/include/asm-cris/page.h @@ -1,6 +1,8 @@ #ifndef _CRIS_PAGE_H #define _CRIS_PAGE_H +#ifdef __KERNEL__ + #include <asm/arch/page.h> /* PAGE_SHIFT determines the page size */ @@ -12,8 +14,6 @@ #endif #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #define clear_page(page) memset((void *)(page), 0, PAGE_SIZE) #define copy_page(to,from) memcpy((void *)(to), (void *)(from), PAGE_SIZE) @@ -73,10 +73,10 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _CRIS_PAGE_H */ diff --git a/include/asm-cris/posix_types.h b/include/asm-cris/posix_types.h index 6d26fee4a614..7b9ed22ab5dd 100644 --- a/include/asm-cris/posix_types.h +++ b/include/asm-cris/posix_types.h @@ -6,8 +6,6 @@ #ifndef __ARCH_CRIS_POSIX_TYPES_H #define __ARCH_CRIS_POSIX_TYPES_H -#include <asm/bitops.h> - /* * This file is generally used by user-level software, so you need to * be a little careful about namespace pollution etc. Also, we cannot @@ -53,9 +51,8 @@ typedef struct { #endif /* !defined(__KERNEL__) && !defined(__USE_ALL) */ } __kernel_fsid_t; -/* should this ifdef be here ? */ - -#if defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) +#ifdef __KERNEL__ +#include <asm/bitops.h> #undef __FD_SET #define __FD_SET(fd,fdsetp) set_bit(fd, (void *)(fdsetp)) @@ -69,6 +66,6 @@ typedef struct { #undef __FD_ZERO #define __FD_ZERO(fdsetp) memset((void *)(fdsetp), 0, __FDSET_LONGS << 2) -#endif /* defined(__KERNEL__) || !defined(__GLIBC__) || (__GLIBC__ < 2) */ +#endif /* __KERNEL__ */ #endif /* __ARCH_CRIS_POSIX_TYPES_H */ diff --git a/include/asm-cris/unistd.h b/include/asm-cris/unistd.h index c2954e90aa24..7372efae0516 100644 --- a/include/asm-cris/unistd.h +++ b/include/asm-cris/unistd.h @@ -1,8 +1,6 @@ #ifndef _ASM_CRIS_UNISTD_H_ #define _ASM_CRIS_UNISTD_H_ -#include <asm/arch/unistd.h> - /* * This file contains the system call numbers, and stub macros for libc. */ @@ -299,6 +297,7 @@ #define NR_syscalls 289 +#include <asm/arch/unistd.h> #define __ARCH_WANT_IPC_PARSE_VERSION #define __ARCH_WANT_OLD_READDIR @@ -322,7 +321,6 @@ #define __ARCH_WANT_SYS_SIGPENDING #define __ARCH_WANT_SYS_SIGPROCMASK #define __ARCH_WANT_SYS_RT_SIGACTION -#endif #ifdef __KERNEL_SYSCALLS__ diff --git a/include/asm-h8300/page.h b/include/asm-h8300/page.h index d673077d2fd6..3b4f2903f91d 100644 --- a/include/asm-h8300/page.h +++ b/include/asm-h8300/page.h @@ -1,6 +1,7 @@ #ifndef _H8300_PAGE_H #define _H8300_PAGE_H +#ifdef __KERNEL__ /* PAGE_SHIFT determines the page size */ @@ -8,8 +9,6 @@ #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/setup.h> #ifndef __ASSEMBLY__ @@ -76,9 +75,9 @@ extern unsigned long memory_end; #endif /* __ASSEMBLY__ */ -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _H8300_PAGE_H */ diff --git a/include/asm-m32r/page.h b/include/asm-m32r/page.h index 9688be003620..404a4c24007b 100644 --- a/include/asm-m32r/page.h +++ b/include/asm-m32r/page.h @@ -87,10 +87,9 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define devmem_is_allowed(x) 1 -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* _ASM_M32R_PAGE_H */ diff --git a/include/asm-m32r/ptrace.h b/include/asm-m32r/ptrace.h index a07fa90314d2..2d2a6c97331e 100644 --- a/include/asm-m32r/ptrace.h +++ b/include/asm-m32r/ptrace.h @@ -12,8 +12,6 @@ * Copyright (C) 2001-2002, 2004 Hirokazu Takata <takata at linux-m32r.org> */ -#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */ - /* 0 - 13 are integer registers (general purpose registers). */ #define PT_R4 0 #define PT_R5 1 @@ -140,6 +138,8 @@ struct pt_regs { #ifdef __KERNEL__ +#include <asm/m32r.h> /* M32R_PSW_BSM, M32R_PSW_BPM */ + #define __ARCH_SYS_PTRACE 1 #if defined(CONFIG_ISA_M32R2) || defined(CONFIG_CHIP_VDEC2) diff --git a/include/asm-m32r/signal.h b/include/asm-m32r/signal.h index e750045164d4..65423bed32b1 100644 --- a/include/asm-m32r/signal.h +++ b/include/asm-m32r/signal.h @@ -6,7 +6,6 @@ /* orig : i386 2.4.18 */ #include <linux/types.h> -#include <linux/linkage.h> #include <linux/time.h> #include <linux/compiler.h> diff --git a/include/asm-m32r/unistd.h b/include/asm-m32r/unistd.h index cc31790d8077..89f376e6229f 100644 --- a/include/asm-m32r/unistd.h +++ b/include/asm-m32r/unistd.h @@ -3,8 +3,6 @@ /* $Id$ */ -#include <asm/syscall.h> /* SYSCALL_* */ - /* * This file contains the system call numbers. */ @@ -303,6 +301,8 @@ * <asm-m32r/errno.h> */ +#include <asm/syscall.h> /* SYSCALL_* */ + #define __syscall_return(type, res) \ do { \ if ((unsigned long)(res) >= (unsigned long)(-(124 + 1))) { \ diff --git a/include/asm-m32r/user.h b/include/asm-m32r/user.h index 2ffd0c65a782..1ad4ded8483b 100644 --- a/include/asm-m32r/user.h +++ b/include/asm-m32r/user.h @@ -8,7 +8,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> #include <asm/ptrace.h> #include <asm/page.h> diff --git a/include/asm-m68knommu/page.h b/include/asm-m68knommu/page.h index a22bf5a88160..2a1b8bdcb29c 100644 --- a/include/asm-m68knommu/page.h +++ b/include/asm-m68knommu/page.h @@ -1,6 +1,7 @@ #ifndef _M68KNOMMU_PAGE_H #define _M68KNOMMU_PAGE_H +#ifdef __KERNEL__ /* PAGE_SHIFT determines the page size */ @@ -8,8 +9,6 @@ #define PAGE_SIZE (1UL << PAGE_SHIFT) #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/setup.h> #ifndef __ASSEMBLY__ @@ -76,8 +75,8 @@ extern unsigned long memory_end; #endif /* __ASSEMBLY__ */ -#endif /* __KERNEL__ */ - #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _M68KNOMMU_PAGE_H */ diff --git a/include/asm-s390/Kbuild b/include/asm-s390/Kbuild index 088969d55e72..e92b429d2be1 100644 --- a/include/asm-s390/Kbuild +++ b/include/asm-s390/Kbuild @@ -6,7 +6,7 @@ header-y += qeth.h header-y += tape390.h header-y += ucontext.h header-y += vtoc.h -header-y += z90crypt.h +header-y += zcrypt.h unifdef-y += cmb.h unifdef-y += debug.h diff --git a/include/asm-sh/page.h b/include/asm-sh/page.h index 5a057b00f19a..6f7eb8a3aba5 100644 --- a/include/asm-sh/page.h +++ b/include/asm-sh/page.h @@ -112,9 +112,8 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* __ASM_SH_PAGE_H */ diff --git a/include/asm-sh/ptrace.h b/include/asm-sh/ptrace.h index 792fc35bd624..ed358a376e6e 100644 --- a/include/asm-sh/ptrace.h +++ b/include/asm-sh/ptrace.h @@ -1,8 +1,6 @@ #ifndef __ASM_SH_PTRACE_H #define __ASM_SH_PTRACE_H -#include <asm/ubc.h> - /* * Copyright (C) 1999, 2000 Niibe Yutaka * diff --git a/include/asm-sh64/page.h b/include/asm-sh64/page.h index 34fb34754ae6..472089aefc60 100644 --- a/include/asm-sh64/page.h +++ b/include/asm-sh64/page.h @@ -112,9 +112,8 @@ typedef struct { unsigned long pgprot; } pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ #endif /* __ASM_SH64_PAGE_H */ diff --git a/include/asm-sh64/shmparam.h b/include/asm-sh64/shmparam.h index d3a99a4dc0e3..1bb820c833ee 100644 --- a/include/asm-sh64/shmparam.h +++ b/include/asm-sh64/shmparam.h @@ -2,19 +2,11 @@ #define __ASM_SH64_SHMPARAM_H /* - * This file is subject to the terms and conditions of the GNU General Public - * License. See the file "COPYING" in the main directory of this archive - * for more details. - * - * include/asm-sh64/shmparam.h - * - * Copyright (C) 2000, 2001 Paolo Alberelli - * + * Set this to a sensible safe default, we'll work out the specifics for the + * align mask from the cache descriptor at run-time. */ +#define SHMLBA 0x4000 -#include <asm/cache.h> - -/* attach addr a multiple of this */ -#define SHMLBA (cpu_data->dcache.sets * L1_CACHE_BYTES) +#define __ARCH_FORCE_SHMLBA #endif /* __ASM_SH64_SHMPARAM_H */ diff --git a/include/asm-sh64/signal.h b/include/asm-sh64/signal.h index a5a28203cb3b..244e134730d9 100644 --- a/include/asm-sh64/signal.h +++ b/include/asm-sh64/signal.h @@ -13,7 +13,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> /* Avoid too many header ordering problems. */ struct siginfo; diff --git a/include/asm-sh64/user.h b/include/asm-sh64/user.h index 8f32f39a8ca9..eb3b33edd73e 100644 --- a/include/asm-sh64/user.h +++ b/include/asm-sh64/user.h @@ -13,7 +13,6 @@ */ #include <linux/types.h> -#include <asm/processor.h> #include <asm/ptrace.h> #include <asm/page.h> diff --git a/include/asm-sparc/Kbuild b/include/asm-sparc/Kbuild index b22b67a64ecc..c6a55cf0d337 100644 --- a/include/asm-sparc/Kbuild +++ b/include/asm-sparc/Kbuild @@ -2,20 +2,13 @@ include include/asm-generic/Kbuild.asm header-y += apc.h header-y += asi.h -header-y += auxio.h header-y += bpp.h -header-y += head.h -header-y += ipc.h header-y += jsflash.h header-y += openpromio.h -header-y += pbm.h header-y += pconf.h -header-y += pgtsun4.h header-y += reg.h header-y += traps.h -header-y += turbosparc.h header-y += vfc_ioctls.h -header-y += winmacro.h unifdef-y += fbio.h unifdef-y += perfctr.h diff --git a/include/asm-sparc/page.h b/include/asm-sparc/page.h index 5bab8a7c25ce..ff57648eb8f8 100644 --- a/include/asm-sparc/page.h +++ b/include/asm-sparc/page.h @@ -8,6 +8,8 @@ #ifndef _SPARC_PAGE_H #define _SPARC_PAGE_H +#ifdef __KERNEL__ + #ifdef CONFIG_SUN4 #define PAGE_SHIFT 13 #else @@ -21,8 +23,6 @@ #endif #define PAGE_MASK (~(PAGE_SIZE-1)) -#ifdef __KERNEL__ - #include <asm/btfixup.h> #ifndef __ASSEMBLY__ @@ -160,9 +160,9 @@ extern unsigned long pfn_base; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* __KERNEL__ */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* __KERNEL__ */ + #endif /* _SPARC_PAGE_H */ diff --git a/include/asm-sparc64/Kbuild b/include/asm-sparc64/Kbuild index 4b59ce46cc2d..a7f44408c93b 100644 --- a/include/asm-sparc64/Kbuild +++ b/include/asm-sparc64/Kbuild @@ -8,15 +8,12 @@ header-y += apb.h header-y += asi.h header-y += bbc.h header-y += bpp.h +header-y += const.h header-y += display7seg.h header-y += envctrl.h -header-y += floppy.h header-y += ipc.h -header-y += kdebug.h -header-y += mostek.h header-y += openprom.h header-y += openpromio.h -header-y += parport.h header-y += pconf.h header-y += psrcompat.h header-y += pstate.h diff --git a/include/asm-sparc64/page.h b/include/asm-sparc64/page.h index fdf0ceb76028..ff736eafa64d 100644 --- a/include/asm-sparc64/page.h +++ b/include/asm-sparc64/page.h @@ -3,6 +3,8 @@ #ifndef _SPARC64_PAGE_H #define _SPARC64_PAGE_H +#ifdef __KERNEL__ + #include <asm/const.h> #if defined(CONFIG_SPARC64_PAGE_SIZE_8KB) @@ -27,8 +29,6 @@ #define DCACHE_ALIASING_POSSIBLE #endif -#ifdef __KERNEL__ - #if defined(CONFIG_HUGETLB_PAGE_SIZE_4MB) #define HPAGE_SHIFT 22 #elif defined(CONFIG_HUGETLB_PAGE_SIZE_512K) @@ -141,8 +141,7 @@ typedef unsigned long pgprot_t; #define VM_DATA_DEFAULT_FLAGS (VM_READ | VM_WRITE | VM_EXEC | \ VM_MAYREAD | VM_MAYWRITE | VM_MAYEXEC) -#endif /* !(__KERNEL__) */ - #include <asm-generic/page.h> -#endif /* !(_SPARC64_PAGE_H) */ +#endif /* __KERNEL__ */ +#endif /* _SPARC64_PAGE_H */ diff --git a/include/asm-sparc64/shmparam.h b/include/asm-sparc64/shmparam.h index 8c66fded8a32..911d0427de6d 100644 --- a/include/asm-sparc64/shmparam.h +++ b/include/asm-sparc64/shmparam.h @@ -1,6 +1,7 @@ /* $Id: shmparam.h,v 1.5 2001/09/24 21:17:57 kanoj Exp $ */ #ifndef _ASMSPARC64_SHMPARAM_H #define _ASMSPARC64_SHMPARAM_H +#ifdef __KERNEL__ #include <asm/spitfire.h> @@ -8,4 +9,5 @@ /* attach addr a multiple of this */ #define SHMLBA ((PAGE_SIZE > L1DCACHE_SIZE) ? PAGE_SIZE : L1DCACHE_SIZE) +#endif /* __KERNEL__ */ #endif /* _ASMSPARC64_SHMPARAM_H */ diff --git a/include/asm-um/Kbuild b/include/asm-um/Kbuild deleted file mode 100644 index c68e1680da01..000000000000 --- a/include/asm-um/Kbuild +++ /dev/null @@ -1 +0,0 @@ -include include/asm-generic/Kbuild.asm diff --git a/include/asm-v850/page.h b/include/asm-v850/page.h index ad03c46a1f92..d693ffb1364d 100644 --- a/include/asm-v850/page.h +++ b/include/asm-v850/page.h @@ -14,6 +14,8 @@ #ifndef __V850_PAGE_H__ #define __V850_PAGE_H__ +#ifdef __KERNEL__ + #include <asm/machdep.h> @@ -32,7 +34,6 @@ #endif -#ifdef __KERNEL__ #ifndef __ASSEMBLY__ #define STRICT_MM_TYPECHECKS @@ -122,9 +123,9 @@ typedef unsigned long pgprot_t; #define __va(x) ((void *)__phys_to_virt ((unsigned long)(x))) -#endif /* KERNEL */ - #include <asm-generic/memory_model.h> #include <asm-generic/page.h> +#endif /* KERNEL */ + #endif /* __V850_PAGE_H__ */ diff --git a/include/asm-v850/param.h b/include/asm-v850/param.h index 8d796e4bff52..3c65bd573782 100644 --- a/include/asm-v850/param.h +++ b/include/asm-v850/param.h @@ -14,8 +14,6 @@ #ifndef __V850_PARAM_H__ #define __V850_PARAM_H__ -#include <asm/machdep.h> /* For HZ */ - #define EXEC_PAGESIZE 4096 #ifndef NOGROUP @@ -25,6 +23,8 @@ #define MAXHOSTNAMELEN 64 /* max length of hostname */ #ifdef __KERNEL__ +#include <asm/machdep.h> /* For HZ */ + # define USER_HZ 100 # define CLOCKS_PER_SEC USER_HZ #endif diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 67383605f2e5..1df2ac30a4d2 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -141,7 +141,6 @@ header-y += snmp.h header-y += sockios.h header-y += som.h header-y += sound.h -header-y += stddef.h header-y += synclink.h header-y += telephony.h header-y += termios.h @@ -267,7 +266,6 @@ unifdef-y += netfilter_decnet.h unifdef-y += netfilter.h unifdef-y += netfilter_ipv4.h unifdef-y += netfilter_ipv6.h -unifdef-y += netfilter_logging.h unifdef-y += net.h unifdef-y += netlink.h unifdef-y += nfs3.h @@ -316,6 +314,7 @@ unifdef-y += sonet.h unifdef-y += sonypi.h unifdef-y += soundcard.h unifdef-y += stat.h +unifdef-y += stddef.h unifdef-y += sysctl.h unifdef-y += tcp.h unifdef-y += time.h diff --git a/include/linux/stddef.h b/include/linux/stddef.h index b3a2cadf90f2..ea65dfb60cd8 100644 --- a/include/linux/stddef.h +++ b/include/linux/stddef.h @@ -10,11 +10,13 @@ #define NULL ((void *)0) #endif +#ifdef __KERNEL__ #undef offsetof #ifdef __compiler_offsetof #define offsetof(TYPE,MEMBER) __compiler_offsetof(TYPE,MEMBER) #else #define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER) #endif +#endif /* __KERNEL__ */ #endif diff --git a/scripts/Makefile.headersinst b/scripts/Makefile.headersinst index 8c02d2df4278..cac8f21a3392 100644 --- a/scripts/Makefile.headersinst +++ b/scripts/Makefile.headersinst @@ -23,30 +23,30 @@ HDRSED := sed -e "s/ inline / __inline__ /g" \ _dst := $(if $(dst),$(dst),$(obj)) -.PHONY: __headersinst -__headersinst: - - ifeq (,$(patsubst include/asm/%,,$(obj)/)) # For producing the generated stuff in include/asm for biarch builds, include # both sets of Kbuild files; we'll generate anything which is mentioned in # _either_ arch, and recurse into subdirectories which are mentioned in either # arch. Since some directories may exist in one but not the other, we must -# use '-include'. +# use $(wildcard...). GENASM := 1 archasm := $(subst include/asm,asm-$(ARCH),$(obj)) altarchasm := $(subst include/asm,asm-$(ALTARCH),$(obj)) --include $(srctree)/include/$(archasm)/Kbuild --include $(srctree)/include/$(altarchasm)/Kbuild +KBUILDFILES := $(wildcard $(srctree)/include/$(archasm)/Kbuild $(srctree)/include/$(altarchasm)/Kbuild) else -include $(srctree)/$(obj)/Kbuild +KBUILDFILES := $(srctree)/$(obj)/Kbuild endif -include scripts/Kbuild.include +include $(KBUILDFILES) + +include scripts/Kbuild.include # If this is include/asm-$(ARCH) and there's no $(ALTARCH), then # override $(_dst) so that we install to include/asm directly. -ifeq ($(obj)$(ALTARCH),include/asm-$(ARCH)) +# Unless $(BIASMDIR) is set, in which case we're probably doing +# a 'headers_install_all' build and we should keep the -$(ARCH) +# in the directory name. +ifeq ($(obj)$(ALTARCH),include/asm-$(ARCH)$(BIASMDIR)) _dst := include/asm endif @@ -56,6 +56,23 @@ subdir-y := $(patsubst %/,%,$(filter %/, $(header-y))) header-y := $(filter-out %/, $(header-y)) header-y := $(filter-out $(unifdef-y),$(header-y)) +# stamp files for header checks +check-y := $(patsubst %,.check.%,$(header-y) $(unifdef-y) $(objhdr-y)) + +# Work out what needs to be removed +oldheaders := $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/*.h)) +unwanted := $(filter-out $(header-y) $(unifdef-y) $(objhdr-y),$(oldheaders)) + +oldcheckstamps := $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$(wildcard $(INSTALL_HDR_PATH)/$(_dst)/.check.*.h)) +unwanted += $(filter-out $(check-y),$(oldcheckstamps)) + +# Prefix them all with full paths to $(INSTALL_HDR_PATH) +header-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(header-y)) +unifdef-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(unifdef-y)) +objhdr-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(objhdr-y)) +check-y := $(patsubst %,$(INSTALL_HDR_PATH)/$(_dst)/%,$(check-y)) + + ifdef ALTARCH ifeq ($(obj),include/asm-$(ARCH)) altarch-y := altarch-dir @@ -67,43 +84,47 @@ export ALTARCH export ARCHDEF export ALTARCHDEF -quiet_cmd_o_hdr_install = INSTALL $(_dst)/$@ - cmd_o_hdr_install = cp $(objtree)/$(obj)/$@ $(INSTALL_HDR_PATH)/$(_dst) +quiet_cmd_o_hdr_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_o_hdr_install = cp $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(objtree)/$(obj)/%,$@) \ + $(INSTALL_HDR_PATH)/$(_dst) -quiet_cmd_headers_install = INSTALL $(_dst)/$@ - cmd_headers_install = $(HDRSED) $(srctree)/$(obj)/$@ \ - > $(INSTALL_HDR_PATH)/$(_dst)/$@ +quiet_cmd_headers_install = INSTALL $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_headers_install = $(HDRSED) $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(srctree)/$(obj)/%,$@) \ + > $@ -quiet_cmd_unifdef = UNIFDEF $(_dst)/$@ - cmd_unifdef = $(UNIFDEF) $(srctree)/$(obj)/$@ | $(HDRSED) \ - > $(INSTALL_HDR_PATH)/$(_dst)/$@ || : +quiet_cmd_unifdef = UNIFDEF $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_unifdef = $(UNIFDEF) $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,$(srctree)/$(obj)/%,$@) \ + | $(HDRSED) > $@ || : -quiet_cmd_check = CHECK $(_dst)/$@ +quiet_cmd_check = CHECK $(patsubst $(INSTALL_HDR_PATH)/$(_dst)/.check.%,$(_dst)/%,$@) cmd_check = $(srctree)/scripts/hdrcheck.sh \ - $(INSTALL_HDR_PATH)/include \ - $(INSTALL_HDR_PATH)/$(_dst)/$@ + $(INSTALL_HDR_PATH)/include $(subst /.check.,/,$@) $@ + +quiet_cmd_remove = REMOVE $(_dst)/$@ + cmd_remove = rm -f $(INSTALL_HDR_PATH)/$(_dst)/$@ -quiet_cmd_mkdir = MKDIR $@ - cmd_mkdir = mkdir -p $(INSTALL_HDR_PATH)/$@ +quiet_cmd_mkdir = MKDIR $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) + cmd_mkdir = mkdir -p $@ -quiet_cmd_gen = GEN $(_dst)/$@ +quiet_cmd_gen = GEN $(patsubst $(INSTALL_HDR_PATH)/%,%,$@) cmd_gen = \ -STUBDEF=__ASM_STUB_`echo $@ | tr a-z. A-Z_`; \ +FNAME=$(patsubst $(INSTALL_HDR_PATH)/$(_dst)/%,%,$@) \ +STUBDEF=__ASM_STUB_`echo $$FNAME | tr a-z. A-Z_`; \ (echo "/* File autogenerated by 'make headers_install' */" ; \ echo "\#ifndef $$STUBDEF" ; \ echo "\#define $$STUBDEF" ; \ echo "\# if $(ARCHDEF)" ; \ -if [ -r $(INSTALL_HDR_PATH)/include/$(archasm)/$@ ]; then \ - echo "\# include <$(archasm)/$@>" ; \ +if [ -r $(subst /$(_dst)/,/include/$(archasm)/,$@) ]; then \ + echo "\# include <$(archasm)/$$FNAME>" ; \ else \ - echo "\# error $(archasm)/$@ does not exist in" \ + echo "\# error $(archasm)/$$FNAME does not exist in" \ "the $(ARCH) architecture" ; \ fi ; \ echo "\# elif $(ALTARCHDEF)" ; \ -if [ -r $(INSTALL_HDR_PATH)/include/$(altarchasm)/$@ ]; then \ - echo "\# include <$(altarchasm)/$@>" ; \ +if [ -r $(subst /$(_dst)/,/include/$(altarchasm)/,$@) ]; then \ + echo "\# include <$(altarchasm)/$$FNAME>" ; \ else \ - echo "\# error $(altarchasm)/$@ does not exist in" \ + echo "\# error $(altarchasm)/$$FNAME does not exist in" \ "the $(ALTARCH) architecture" ; \ fi ; \ echo "\# else" ; \ @@ -111,37 +132,49 @@ echo "\# warning This machine appears to be" \ "neither $(ARCH) nor $(ALTARCH)." ; \ echo "\# endif" ; \ echo "\#endif /* $$STUBDEF */" ; \ -) > $(INSTALL_HDR_PATH)/$(_dst)/$@ +) > $@ -__headersinst: $(subdir-y) $(header-y) $(unifdef-y) $(altarch-y) $(objhdr-y) - -.PHONY: $(header-y) $(unifdef-y) $(subdir-y) +.PHONY: __headersinst __headerscheck ifdef HDRCHECK -# Rules for checking headers -$(objhdr-y) $(header-y) $(unifdef-y): +__headerscheck: $(subdir-y) $(check-y) + @true + +$(check-y) : $(INSTALL_HDR_PATH)/$(_dst)/.check.%.h : $(INSTALL_HDR_PATH)/$(_dst)/%.h $(call cmd,check) + +# Other dependencies for $(check-y) +-include /dev/null $(check-y) + +# ... but leave $(check-y) as .PHONY for now until those deps are actually correct. +.PHONY: $(check-y) + else # Rules for installing headers +__headersinst: $(subdir-y) $(header-y) $(unifdef-y) $(altarch-y) $(objhdr-y) + @true -$(objhdr-y) $(subdir-y) $(header-y) $(unifdef-y): $(_dst) +$(objhdr-y) $(subdir-y) $(header-y) $(unifdef-y): | $(INSTALL_HDR_PATH)/$(_dst) $(unwanted) -.PHONY: $(_dst) -$(_dst): +$(INSTALL_HDR_PATH)/$(_dst): $(call cmd,mkdir) +.PHONY: $(unwanted) +$(unwanted): + $(call cmd,remove) + ifdef GENASM -$(objhdr-y) $(header-y) $(unifdef-y): +$(objhdr-y) $(header-y) $(unifdef-y): $(KBUILDFILES) $(call cmd,gen) else -$(objhdr-y): +$(objhdr-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,o_hdr_install) -$(header-y): +$(header-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,headers_install) -$(unifdef-y): +$(unifdef-y) : $(INSTALL_HDR_PATH)/$(_dst)/%.h: $(srctree)/$(obj)/%.h $(KBUILDFILES) $(call cmd,unifdef) endif endif @@ -153,8 +186,9 @@ hdrinst := -rR -f $(srctree)/scripts/Makefile.headersinst obj # for their existence. altarch-dir: $(subdir-y) $(header-y) $(unifdef-y) $(objhdr-y) $(Q)$(MAKE) $(hdrinst)=include/asm-$(ALTARCH) dst=include/asm-$(ALTARCH) - $(Q)$(MAKE) $(hdrinst)=include/asm dst=include/asm + $(Q)$(MAKE) $(hdrinst)=include/asm dst=include/asm$(BIASMDIR) # Recursion +.PHONY: $(subdir-y) $(subdir-y): $(Q)$(MAKE) $(hdrinst)=$(obj)/$@ dst=$(_dst)/$@ rel=../$(rel) diff --git a/scripts/hdrcheck.sh b/scripts/hdrcheck.sh index b5ca35aa1741..31598584f871 100755 --- a/scripts/hdrcheck.sh +++ b/scripts/hdrcheck.sh @@ -6,3 +6,5 @@ for FILE in `grep '^[ \t]*#[ \t]*include[ \t]*<' $2 | cut -f2 -d\< | cut -f1 -d\ exit 1 fi done +# FIXME: List dependencies into $3 +touch $3 |