2005-03-28 17:46:57

by Roland Dreier

[permalink] [raw]
Subject: [PATCH] Reduce <linux/debugfs.h> dependencies

The current <linux/debugfs.h> include file is a little fragile in that
it is not self-contained and hence may cause compile warnings or
errors depending on the files included before it, the kernel config
and the architecture. This patch makes things a little more robust by:

- including <linux/types.h> to get definitions of u32, mode_t, and so on.
- forward declaring struct file_operations.
- including <linux/err.h> when CONFIG_DEBUG_FS is not set

The last change is particularly useful, as a kernel developer is
likely to build with debugfs always enabled and never see the build
breakage cased if debugfs is disabled.

Signed-off-by: Roland Dreier <[email protected]>

Index: linux-export/include/linux/debugfs.h
===================================================================
--- linux-export.orig/include/linux/debugfs.h 2005-01-10 11:48:00.000000000 -0800
+++ linux-export/include/linux/debugfs.h 2005-03-28 09:08:40.982161696 -0800
@@ -15,6 +15,10 @@
#ifndef _DEBUGFS_H_
#define _DEBUGFS_H_

+#include <linux/types.h>
+
+struct file_operations;
+
#if defined(CONFIG_DEBUG_FS)
struct dentry *debugfs_create_file(const char *name, mode_t mode,
struct dentry *parent, void *data,
@@ -34,6 +38,9 @@
struct dentry *parent, u32 *value);

#else
+
+#include <linux/err.h>
+
/*
* We do not return NULL from these functions if CONFIG_DEBUG_FS is not enabled
* so users have a chance to detect if there was a real error or not. We don't


2005-04-08 22:19:24

by Greg KH

[permalink] [raw]
Subject: Re: [PATCH] Reduce <linux/debugfs.h> dependencies

On Mon, Mar 28, 2005 at 09:16:58AM -0800, Roland Dreier wrote:
> The current <linux/debugfs.h> include file is a little fragile in that
> it is not self-contained and hence may cause compile warnings or
> errors depending on the files included before it, the kernel config
> and the architecture. This patch makes things a little more robust by:
>
> - including <linux/types.h> to get definitions of u32, mode_t, and so on.
> - forward declaring struct file_operations.
> - including <linux/err.h> when CONFIG_DEBUG_FS is not set
>
> The last change is particularly useful, as a kernel developer is
> likely to build with debugfs always enabled and never see the build
> breakage cased if debugfs is disabled.
>
> Signed-off-by: Roland Dreier <[email protected]>

Applied, thanks.

greg k-h