These files can only be included from user space if some other header has been included first, and they don't look like they should include that header themselves. This uses a special '@headercheck: ... @' tag in a comment, which is then turned into a gcc command line option that will include the dependencies first. All netfilter headers need something like this as well, but I decided to make them a separate patch, because there are so many of them. Signed-off-by: Arnd Bergmann Index: linux-cg/include/asm-generic/siginfo.h =================================================================== --- linux-cg.orig/include/asm-generic/siginfo.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-generic/siginfo.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef _ASM_GENERIC_SIGINFO_H #define _ASM_GENERIC_SIGINFO_H +/* @headercheck: -include linux/signal.h @ */ + #include #include Index: linux-cg/include/asm-i386/ipcbuf.h =================================================================== --- linux-cg.orig/include/asm-i386/ipcbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-i386/ipcbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -10,6 +10,7 @@ * - 32-bit mode_t and seq * - 2 miscellaneous 32-bit values */ +/* @headercheck: -include linux/posix_types.h @ */ struct ipc64_perm { Index: linux-cg/include/asm-i386/msgbuf.h =================================================================== --- linux-cg.orig/include/asm-i386/msgbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-i386/msgbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -10,6 +10,8 @@ * - 64-bit time_t to solve y2038 problem * - 2 miscellaneous 32-bit values */ +/* @headercheck: -include linux/posix_types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ struct msqid64_ds { struct ipc64_perm msg_perm; Index: linux-cg/include/asm-i386/sembuf.h =================================================================== --- linux-cg.orig/include/asm-i386/sembuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-i386/sembuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -10,6 +10,8 @@ * - 64-bit time_t to solve y2038 problem * - 2 miscellaneous 32-bit values */ +/* @headercheck: -include linux/posix_types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ struct semid64_ds { struct ipc64_perm sem_perm; /* permissions .. see ipc.h */ Index: linux-cg/include/asm-i386/shmbuf.h =================================================================== --- linux-cg.orig/include/asm-i386/shmbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-i386/shmbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -10,6 +10,9 @@ * - 64-bit time_t to solve y2038 problem * - 2 miscellaneous 32-bit values */ +/* @headercheck: -include linux/posix_types.h @ */ +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ struct shmid64_ds { struct ipc64_perm shm_perm; /* operation perms */ Index: linux-cg/include/asm-i386/ucontext.h =================================================================== --- linux-cg.orig/include/asm-i386/ucontext.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-i386/ucontext.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,9 @@ #ifndef _ASMi386_UCONTEXT_H #define _ASMi386_UCONTEXT_H +/* @headercheck: -include asm/signal.h @ */ +/* @headercheck: -include asm/sigcontext.h @ */ + struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; Index: linux-cg/include/asm-powerpc/msgbuf.h =================================================================== --- linux-cg.orig/include/asm-powerpc/msgbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-powerpc/msgbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _ASM_POWERPC_MSGBUF_H #define _ASM_POWERPC_MSGBUF_H +/* @headercheck:-include asm/ipcbuf.h@ */ /* * The msqid64_ds structure for the PowerPC architecture. * Note extra padding because this structure is passed back and forth Index: linux-cg/include/asm-powerpc/posix_types.h =================================================================== --- linux-cg.orig/include/asm-powerpc/posix_types.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-powerpc/posix_types.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _ASM_POWERPC_POSIX_TYPES_H #define _ASM_POWERPC_POSIX_TYPES_H +/* @headercheck:-include linux/posix_types.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 Index: linux-cg/include/asm-powerpc/sembuf.h =================================================================== --- linux-cg.orig/include/asm-powerpc/sembuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-powerpc/sembuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _ASM_POWERPC_SEMBUF_H #define _ASM_POWERPC_SEMBUF_H +/* @headercheck:-include asm/ipcbuf.h@ */ /* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License Index: linux-cg/include/asm-powerpc/shmbuf.h =================================================================== --- linux-cg.orig/include/asm-powerpc/shmbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-powerpc/shmbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _ASM_POWERPC_SHMBUF_H #define _ASM_POWERPC_SHMBUF_H +/* @headercheck:-include asm/ipcbuf.h@ */ /* * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License Index: linux-cg/include/asm-s390/ipcbuf.h =================================================================== --- linux-cg.orig/include/asm-s390/ipcbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-s390/ipcbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef __S390_IPCBUF_H__ #define __S390_IPCBUF_H__ +/* @headercheck: -include linux/types.h @ */ + /* * The user_ipc_perm structure for S/390 architecture. * Note extra padding because this structure is passed back and forth Index: linux-cg/include/asm-s390/msgbuf.h =================================================================== --- linux-cg.orig/include/asm-s390/msgbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-s390/msgbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,9 @@ #ifndef _S390_MSGBUF_H #define _S390_MSGBUF_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ + /* * The msqid64_ds structure for S/390 architecture. * Note extra padding because this structure is passed back and forth Index: linux-cg/include/asm-s390/sembuf.h =================================================================== --- linux-cg.orig/include/asm-s390/sembuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-s390/sembuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,9 @@ #ifndef _S390_SEMBUF_H #define _S390_SEMBUF_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ + /* * The semid64_ds structure for S/390 architecture. * Note extra padding because this structure is passed back and forth Index: linux-cg/include/asm-s390/shmbuf.h =================================================================== --- linux-cg.orig/include/asm-s390/shmbuf.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-s390/shmbuf.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,9 @@ #ifndef _S390_SHMBUF_H #define _S390_SHMBUF_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include asm/ipcbuf.h @ */ + /* * The shmid64_ds structure for S/390 architecture. * Note extra padding because this structure is passed back and forth Index: linux-cg/include/asm-s390/ucontext.h =================================================================== --- linux-cg.orig/include/asm-s390/ucontext.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-s390/ucontext.h 2006-09-18 02:54:10.000000000 +0200 @@ -9,6 +9,9 @@ #ifndef _ASM_S390_UCONTEXT_H #define _ASM_S390_UCONTEXT_H +/* @headercheck: -include asm/signal.h @ */ +/* @headercheck: -include asm/sigcontext.h @ */ + struct ucontext { unsigned long uc_flags; struct ucontext *uc_link; Index: linux-cg/include/linux/atalk.h =================================================================== --- linux-cg.orig/include/linux/atalk.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/atalk.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef __LINUX_ATALK_H__ #define __LINUX_ATALK_H__ +/* @headercheck: -include linux/socket.h @ */ #include /* Index: linux-cg/include/linux/atm_tcp.h =================================================================== --- linux-cg.orig/include/linux/atm_tcp.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/atm_tcp.h 2006-09-18 02:54:10.000000000 +0200 @@ -12,6 +12,8 @@ #ifdef __KERNEL__ #include #endif +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include linux/atm.h @ */ #include Index: linux-cg/include/linux/atm_zatm.h =================================================================== --- linux-cg.orig/include/linux/atm_zatm.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/atm_zatm.h 2006-09-18 02:54:10.000000000 +0200 @@ -11,6 +11,7 @@ * Note: non-kernel programs including this file must also include * sys/types.h for struct timeval */ +/* @headercheck: -include sys/types.h@ */ #include #include Index: linux-cg/include/linux/atmarp.h =================================================================== --- linux-cg.orig/include/linux/atmarp.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/atmarp.h 2006-09-18 02:54:10.000000000 +0200 @@ -9,6 +9,8 @@ #ifdef __KERNEL__ #include #endif +/* @headercheck: -include linux/types.h @ */ + #include #include Index: linux-cg/include/linux/dirent.h =================================================================== --- linux-cg.orig/include/linux/dirent.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/dirent.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef _LINUX_DIRENT_H #define _LINUX_DIRENT_H +/* @headercheck: -include linux/types.h @ */ + struct dirent { long d_ino; __kernel_off_t d_off; Index: linux-cg/include/linux/errqueue.h =================================================================== --- linux-cg.orig/include/linux/errqueue.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/errqueue.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef _LINUX_ERRQUEUE_H #define _LINUX_ERRQUEUE_H 1 +/* @headercheck: -include linux/types.h @ */ + struct sock_extended_err { __u32 ee_errno; Index: linux-cg/include/linux/hdlc/ioctl.h =================================================================== --- linux-cg.orig/include/linux/hdlc/ioctl.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/hdlc/ioctl.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef __HDLC_IOCTL_H__ #define __HDLC_IOCTL_H__ +/* @headercheck:-include linux/if.h@ */ + typedef struct { unsigned int clock_rate; /* bits per second */ unsigned int clock_type; /* internal, external, TX-internal etc. */ Index: linux-cg/include/linux/inet_diag.h =================================================================== --- linux-cg.orig/include/linux/inet_diag.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/inet_diag.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef _INET_DIAG_H_ #define _INET_DIAG_H_ 1 +/* @headercheck: -include linux/types.h @ */ + /* Just some random number */ #define TCPDIAG_GETSOCK 18 #define DCCPDIAG_GETSOCK 19 Index: linux-cg/include/linux/ipv6_route.h =================================================================== --- linux-cg.orig/include/linux/ipv6_route.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/ipv6_route.h 2006-09-18 02:54:10.000000000 +0200 @@ -13,6 +13,9 @@ #ifndef _LINUX_IPV6_ROUTE_H #define _LINUX_IPV6_ROUTE_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include linux/in6.h @ */ + #define RTF_DEFAULT 0x00010000 /* default - learned via ND */ #define RTF_ALLONLINK 0x00020000 /* (deprecated and will be removed) fallback, no routers on link */ Index: linux-cg/include/linux/irda.h =================================================================== --- linux-cg.orig/include/linux/irda.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/irda.h 2006-09-18 02:54:10.000000000 +0200 @@ -30,6 +30,7 @@ * Please fix the calling file to properly included needed files before * this one, or preferably to include instead. * Jean II */ +/* @headercheck: -include linux/socket.h@ */ /* Hint bit positions for first hint byte */ #define HINT_PNP 0x01 Index: linux-cg/include/linux/llc.h =================================================================== --- linux-cg.orig/include/linux/llc.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/llc.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,5 +1,9 @@ #ifndef __LINUX_LLC_H #define __LINUX_LLC_H + +/* @headercheck: -include linux/socket.h @ */ +/* @headercheck: -include linux/if.h @ */ + /* * IEEE 802.2 User Interface SAPs for Linux, data structures and indicators. * Index: linux-cg/include/linux/netfilter_ipv4/ipt_physdev.h =================================================================== --- linux-cg.orig/include/linux/netfilter_ipv4/ipt_physdev.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/netfilter_ipv4/ipt_physdev.h 2006-09-18 02:54:10.000000000 +0200 @@ -2,6 +2,7 @@ #define _IPT_PHYSDEV_H /* Backwards compatibility for old userspace */ +/* @headercheck:-include linux/if.h@ */ #include Index: linux-cg/include/linux/netfilter_ipv6/ip6t_physdev.h =================================================================== --- linux-cg.orig/include/linux/netfilter_ipv6/ip6t_physdev.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/netfilter_ipv6/ip6t_physdev.h 2006-09-18 02:54:10.000000000 +0200 @@ -2,6 +2,7 @@ #define _IP6T_PHYSDEV_H /* Backwards compatibility for old userspace */ +/* @headercheck:-include linux/if.h@ */ #include Index: linux-cg/include/linux/netrom.h =================================================================== --- linux-cg.orig/include/linux/netrom.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/netrom.h 2006-09-18 02:54:10.000000000 +0200 @@ -3,6 +3,7 @@ * For kernel AX.25 see the file ax25.h. This file requires ax25.h for the * definition of the ax25_address structure. */ +/* @headercheck: -include linux/ax25.h@ */ #ifndef NETROM_KERNEL_H #define NETROM_KERNEL_H Index: linux-cg/include/linux/nfs_idmap.h =================================================================== --- linux-cg.orig/include/linux/nfs_idmap.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/nfs_idmap.h 2006-09-18 02:54:10.000000000 +0200 @@ -37,6 +37,8 @@ #ifndef NFS_IDMAP_H #define NFS_IDMAP_H +/* @headercheck: -include linux/types.h @ */ + /* XXX from bits/utmp.h */ #define IDMAP_NAMESZ 128 Index: linux-cg/include/linux/nubus.h =================================================================== --- linux-cg.orig/include/linux/nubus.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/nubus.h 2006-09-18 02:54:10.000000000 +0200 @@ -12,6 +12,8 @@ #ifndef LINUX_NUBUS_H #define LINUX_NUBUS_H +/* @headercheck: -include linux/types.h @ */ + #ifdef __KERNEL__ #include #endif Index: linux-cg/include/linux/patchkey.h =================================================================== --- linux-cg.orig/include/linux/patchkey.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/patchkey.h 2006-09-18 02:54:10.000000000 +0200 @@ -9,14 +9,15 @@ * Do not include this file directly. Please use instead. * For kernel code, use */ +#ifndef _LINUX_PATCHKEY_H +#define _LINUX_PATCHKEY_H + +/* @headercheck: -include linux/soundcard.h @ */ #ifndef _LINUX_PATCHKEY_H_INDIRECT #error "patchkey.h included directly" #endif -#ifndef _LINUX_PATCHKEY_H -#define _LINUX_PATCHKEY_H - /* Endian macros. */ #ifdef __KERNEL__ # include Index: linux-cg/include/linux/romfs_fs.h =================================================================== --- linux-cg.orig/include/linux/romfs_fs.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/romfs_fs.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef __LINUX_ROMFS_FS_H #define __LINUX_ROMFS_FS_H +/* @headercheck: -include linux/types.h @ */ + /* The basic structures of the romfs filesystem */ #define ROMBSIZE BLOCK_SIZE Index: linux-cg/include/linux/rose.h =================================================================== --- linux-cg.orig/include/linux/rose.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/rose.h 2006-09-18 02:54:10.000000000 +0200 @@ -7,6 +7,9 @@ #ifndef ROSE_KERNEL_H #define ROSE_KERNEL_H +/* @headercheck: -include linux/socket.h @ */ +/* @headercheck: -include linux/ax25.h @ */ + #define ROSE_MTU 251 #define ROSE_MAX_DIGIS 6 Index: linux-cg/include/linux/scc.h =================================================================== --- linux-cg.orig/include/linux/scc.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/scc.h 2006-09-18 02:54:10.000000000 +0200 @@ -3,6 +3,7 @@ #ifndef _SCC_H #define _SCC_H +/* @headercheck: -include linux/sockios.h @ */ /* selection of hardware types */ Index: linux-cg/include/linux/sdla.h =================================================================== --- linux-cg.orig/include/linux/sdla.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/sdla.h 2006-09-18 02:54:10.000000000 +0200 @@ -23,6 +23,8 @@ #ifndef SDLA_H #define SDLA_H +/* @headercheck: -include linux/if_frad.h @ */ + /* adapter type */ #define SDLA_TYPES #define SDLA_S502A 5020 Index: linux-cg/include/linux/selinux_netlink.h =================================================================== --- linux-cg.orig/include/linux/selinux_netlink.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/selinux_netlink.h 2006-09-18 02:54:10.000000000 +0200 @@ -12,6 +12,8 @@ #ifndef _LINUX_SELINUX_NETLINK_H #define _LINUX_SELINUX_NETLINK_H +/* @headercheck: -include linux/types.h @ */ + /* Message types. */ #define SELNL_MSG_BASE 0x10 enum { Index: linux-cg/include/linux/uinput.h =================================================================== --- linux-cg.orig/include/linux/uinput.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/uinput.h 2006-09-18 02:54:10.000000000 +0200 @@ -28,6 +28,8 @@ * 0.1 20/06/2002 * - first public version */ +/* @headercheck: -include linux/input.h @ */ + #ifdef __KERNEL__ #define UINPUT_MINOR 223 #define UINPUT_NAME "uinput" Index: linux-cg/include/linux/un.h =================================================================== --- linux-cg.orig/include/linux/un.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/un.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _LINUX_UN_H #define _LINUX_UN_H +/* @headercheck: -include linux/socket.h @ */ #define UNIX_PATH_MAX 108 struct sockaddr_un { Index: linux-cg/include/linux/utime.h =================================================================== --- linux-cg.orig/include/linux/utime.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/utime.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,7 @@ #ifndef _LINUX_UTIME_H #define _LINUX_UTIME_H +/* @headercheck: -include linux/types.h @ */ struct utimbuf { time_t actime; time_t modtime; Index: linux-cg/include/linux/x25.h =================================================================== --- linux-cg.orig/include/linux/x25.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/x25.h 2006-09-18 02:54:10.000000000 +0200 @@ -12,6 +12,7 @@ #define X25_KERNEL_H #include +/* @headercheck: -include linux/socket.h @ */ #define SIOCX25GSUBSCRIP (SIOCPROTOPRIVATE + 0) #define SIOCX25SSUBSCRIP (SIOCPROTOPRIVATE + 1) Index: linux-cg/include/mtd/inftl-user.h =================================================================== --- linux-cg.orig/include/mtd/inftl-user.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/mtd/inftl-user.h 2006-09-18 02:54:10.000000000 +0200 @@ -8,6 +8,8 @@ #ifndef __MTD_INFTL_USER_H__ #define __MTD_INFTL_USER_H__ +/* @headercheck: -include linux/types.h @ */ + #define OSAK_VERSION 0x5120 #define PERCENTUSED 98 Index: linux-cg/include/mtd/mtd-abi.h =================================================================== --- linux-cg.orig/include/mtd/mtd-abi.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/mtd/mtd-abi.h 2006-09-18 02:54:10.000000000 +0200 @@ -7,11 +7,7 @@ #ifndef __MTD_ABI_H__ #define __MTD_ABI_H__ -#ifndef __KERNEL__ -/* Urgh. The whole point of splitting this out into - separate files was to avoid #ifdef __KERNEL__ */ -#define __user -#endif +/* @headercheck: -include linux/types.h @ */ struct erase_info_user { uint32_t start; Index: linux-cg/include/mtd/nftl-user.h =================================================================== --- linux-cg.orig/include/mtd/nftl-user.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/mtd/nftl-user.h 2006-09-18 02:54:10.000000000 +0200 @@ -8,6 +8,8 @@ #ifndef __MTD_NFTL_USER_H__ #define __MTD_NFTL_USER_H__ +/* @headercheck: -include linux/types.h @ */ + /* Block Control Information */ struct nftl_bci { Index: linux-cg/include/scsi/sg.h =================================================================== --- linux-cg.orig/include/scsi/sg.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/scsi/sg.h 2006-09-18 02:54:10.000000000 +0200 @@ -2,6 +2,7 @@ #define _SCSI_GENERIC_H #include +/* @headercheck: -include linux/types.h @ */ /* History: Index: linux-cg/include/sound/asequencer.h =================================================================== --- linux-cg.orig/include/sound/asequencer.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/sound/asequencer.h 2006-09-18 02:54:10.000000000 +0200 @@ -22,9 +22,11 @@ #ifndef __SOUND_ASEQUENCER_H #define __SOUND_ASEQUENCER_H -#ifdef __KERNEL__ -#include #include +/* @headercheck: -include linux/time.h @ */ + +#ifndef __KERNEL__ +#define __bitwise #endif /** version of the sequencer */ Index: linux-cg/include/sound/asound.h =================================================================== --- linux-cg.orig/include/sound/asound.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/sound/asound.h 2006-09-18 02:54:10.000000000 +0200 @@ -23,9 +23,12 @@ #ifndef __SOUND_ASOUND_H #define __SOUND_ASOUND_H -#ifdef __KERNEL__ -#include #include +#include + +/* @headercheck: -include linux/time.h @ */ + +#ifdef __KERNEL__ #include #include Index: linux-cg/include/sound/emu10k1.h =================================================================== --- linux-cg.orig/include/sound/emu10k1.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/sound/emu10k1.h 2006-09-18 02:54:10.000000000 +0200 @@ -1,6 +1,10 @@ #ifndef __SOUND_EMU10K1_H #define __SOUND_EMU10K1_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include linux/time.h @ */ +/* @headercheck: -include sound/asound.h @ */ + /* * Copyright (c) by Jaroslav Kysela , * Creative Labs, Inc. @@ -1527,6 +1531,11 @@ unsigned int translation; /* translation type (EMU10K1_GPR_TRANSLATION*) */ }; +#ifndef DECLARE_BITMAP +#define DECLARE_BITMAP(name,bits) \ + unsigned long name[(bits) / (8*sizeof(long))] +#endif + struct snd_emu10k1_fx8010_code { char name[128]; Index: linux-cg/include/sound/sfnt_info.h =================================================================== --- linux-cg.orig/include/sound/sfnt_info.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/sound/sfnt_info.h 2006-09-18 02:54:10.000000000 +0200 @@ -22,6 +22,8 @@ * */ +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include time.h @ */ #include /* Index: linux-cg/include/asm-generic/atomic.h =================================================================== --- linux-cg.orig/include/asm-generic/atomic.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/asm-generic/atomic.h 2006-09-18 02:54:10.000000000 +0200 @@ -8,6 +8,8 @@ * edit all arch specific atomic.h files. */ +/* @headercheck:-include asm/atomic.h@ */ + #include /* Index: linux-cg/include/linux/nfsd/syscall.h =================================================================== --- linux-cg.orig/include/linux/nfsd/syscall.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/nfsd/syscall.h 2006-09-18 02:54:10.000000000 +0200 @@ -9,6 +9,9 @@ #ifndef NFSD_SYSCALL_H #define NFSD_SYSCALL_H +/* @headercheck:-include linux/types.h@ */ +/* @headercheck:-include linux/in.h@ */ + #include #ifdef __KERNEL__ # include Index: linux-cg/include/linux/auto_fs4.h =================================================================== --- linux-cg.orig/include/linux/auto_fs4.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/auto_fs4.h 2006-09-18 02:54:10.000000000 +0200 @@ -11,6 +11,9 @@ #ifndef _LINUX_AUTO_FS4_H #define _LINUX_AUTO_FS4_H +/* @headercheck: -include linux/types.h @ */ +/* @headercheck: -include linux/limits.h @ */ + /* Include common v3 definitions */ #include Index: linux-cg/include/linux/bfs_fs.h =================================================================== --- linux-cg.orig/include/linux/bfs_fs.h 2006-09-18 02:52:30.000000000 +0200 +++ linux-cg/include/linux/bfs_fs.h 2006-09-18 02:54:10.000000000 +0200 @@ -6,6 +6,8 @@ #ifndef _LINUX_BFS_FS_H #define _LINUX_BFS_FS_H +/* @headercheck: -include linux/types.h @ */ + #define BFS_BSIZE_BITS 9 #define BFS_BSIZE (1< #include Index: linux-cg/include/linux/dn.h =================================================================== --- linux-cg.orig/include/linux/dn.h 2006-09-18 02:54:17.000000000 +0200 +++ linux-cg/include/linux/dn.h 2006-09-18 02:54:20.000000000 +0200 @@ -1,6 +1,8 @@ #ifndef _LINUX_DN_H #define _LINUX_DN_H +/* @headercheck: -include linux/types.h @ */ + /* DECnet Data Structures and Constants Index: linux-cg/include/linux/ethtool.h =================================================================== --- linux-cg.orig/include/linux/ethtool.h 2006-09-18 02:54:17.000000000 +0200 +++ linux-cg/include/linux/ethtool.h 2006-09-18 02:54:20.000000000 +0200 @@ -12,6 +12,7 @@ #ifndef _LINUX_ETHTOOL_H #define _LINUX_ETHTOOL_H +/* @headercheck: -include linux/types.h @ */ /* This should work for both 32 and 64 bit userland. */ struct ethtool_cmd { Index: linux-cg/include/linux/synclink.h =================================================================== --- linux-cg.orig/include/linux/synclink.h 2006-09-18 02:54:17.000000000 +0200 +++ linux-cg/include/linux/synclink.h 2006-09-18 02:54:20.000000000 +0200 @@ -13,6 +13,8 @@ #define _SYNCLINK_H_ #define SYNCLINK_H_VERSION 3.6 +/* @headercheck: -include linux/types.h @ */ + #define BOOLEAN int #define TRUE 1 #define FALSE 0 -- - To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/