Re: [git-pull -tip] fix headers_check warnings
From: Arnd Bergmann
Date: Mon Feb 02 2009 - 12:50:50 EST
On Monday 02 February 2009, Jaswinder Singh Rajput wrote:
> @@ -6,8 +6,10 @@
> #define ARCH_GET_FS 0x1003
> #define ARCH_GET_GS 0x1004
>
> -#ifdef CONFIG_X86_64
> +#ifdef __KERNEL__
> +# ifdef CONFIG_X86_64
> extern long sys_arch_prctl(int, unsigned long);
> -#endif /* CONFIG_X86_64 */
> +# endif /* CONFIG_X86_64 */
> +#endif /* __KERNEL__ */
The prototype declares a system call and should consequently
be moved to arch/x86/include/syscalls.h, without the #ifdef.
Generally, prototypes do not need to be put into #ifdef.
> diff --git a/include/linux/coda_psdev.h b/include/linux/coda_psdev.h
> index 07ae8f8..6f06352 100644
> --- a/include/linux/coda_psdev.h
> +++ b/include/linux/coda_psdev.h
> @@ -24,7 +24,7 @@ static inline struct venus_comm *coda_vcp(struct super_block *sb)
> return (struct venus_comm *)((sb)->s_fs_info);
> }
>
> -
> +#ifdef __KERNEL__
> /* upcalls */
> int venus_rootfid(struct super_block *sb, struct CodaFid *fidp);
> int venus_getattr(struct super_block *sb, struct CodaFid *fid,
The definitions preceeding this also should not get exported: struct venus_comm
and coda_vcp use kernel internal types so they cannot be part of the public
interface. kstatfs is another internal type.
> --- a/include/linux/nubus.h
> +++ b/include/linux/nubus.h
> @@ -296,6 +296,7 @@ struct nubus_dev {
> struct nubus_board* board;
> };
>
> +#ifdef __KERNEL__
> /* This is all NuBus devices (used to find devices later on) */
> extern struct nubus_dev* nubus_devices;
> /* This is all NuBus cards */
struct nubus_board and struct nubus_dev are clearly kernel internal,
as they reference a proc_dir_ent.
> --- a/include/linux/reiserfs_fs.h
> +++ b/include/linux/reiserfs_fs.h
The reiserfs_fs.h file is still such a mess that I would think it's
impossible anyone actually used this from a program. Just try
gcc -xc -S -o /dev/null -I. -Wall --std=c99 linux/reiserfs_fs.h
from your usr/include directory!
It would be possible to use it to describe the on-disk data layout
to user space, but that is obviously done elsewhere already, so
I'd think the cleanest way would be to #ifdef __KERNEL__ everything
except for the REISERFS_IOC_ definitions (but not REISERFS_IOC32).
Even that can be argued is pointless because these ioctl numbers are
now generic across file systems.
>
> +#ifdef __KERNEL__
> /* used to keep track of ordered and tail writes, attached to the buffer
> * head through b_journal_head.
> */
> @@ -2203,4 +2210,5 @@ int reiserfs_unpack(struct inode *inode, struct file *filp);
> /* xattr stuff */
> #define REISERFS_XATTR_DIR_SEM(s) (REISERFS_SB(s)->xattr_dir_sem)
>
> +#endif /* __KERNEL__ */
> #endif /* _LINUX_REISER_FS_H */
Here you accidentally removed the ioctl definitions from reiserfs.h,
removing the only reason we were exporting it in the first place.
> diff --git a/include/linux/socket.h b/include/linux/socket.h
> index 20fc4bb..afc0190 100644
> --- a/include/linux/socket.h
> +++ b/include/linux/socket.h
> @@ -24,10 +24,12 @@ struct __kernel_sockaddr_storage {
> #include <linux/types.h> /* pid_t */
> #include <linux/compiler.h> /* __user */
>
> -#ifdef CONFIG_PROC_FS
> +#ifdef __KERNEL__
> +# ifdef CONFIG_PROC_FS
> struct seq_file;
> extern void socket_seq_show(struct seq_file *seq);
> -#endif
> +# endif
> +#endif /* __KERNEL__ */
>
You can drop the #ifdef CONFIG_PROC_FS here, the prototype does not hurt.
Arnd <><
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/