[PATCH] pstore: Headers should include all stuff they use

From: Anton Vorontsov
Date: Tue Jul 17 2012 - 14:16:18 EST


Headers should really include all the needed prototypes, types, defines
etc. to be self-contained. This is a long-standing issue, but apparently
the new tracing code unearthed it (SMP=n is also a prerequisite):

In file included from fs/pstore/internal.h:4:0,
from fs/pstore/ftrace.c:21:
include/linux/pstore.h:43:15: error: field âread_mutexâ has incomplete type

While at it, I also added the following:

linux/types.h -> size_t, phys_addr_t, uXX and friends
linux/spinlock.h -> spinlock_t
linux/errno.h -> Exxxx
linux/time.h -> struct timespec (struct passed by value)
struct module and rs_control forward declaration (passed via pointers).

Signed-off-by: Anton Vorontsov <anton.vorontsov@xxxxxxxxxx>
---
fs/pstore/internal.h | 2 ++
include/linux/pstore.h | 6 ++++++
include/linux/pstore_ram.h | 1 +
3 files changed, 9 insertions(+)

diff --git a/fs/pstore/internal.h b/fs/pstore/internal.h
index 958c48d..0d0d3b7 100644
--- a/fs/pstore/internal.h
+++ b/fs/pstore/internal.h
@@ -1,6 +1,8 @@
#ifndef __PSTORE_INTERNAL_H__
#define __PSTORE_INTERNAL_H__

+#include <linux/types.h>
+#include <linux/time.h>
#include <linux/pstore.h>

#if NR_CPUS <= 2 && defined(CONFIG_ARM_THUMB)
diff --git a/include/linux/pstore.h b/include/linux/pstore.h
index 120443b..c892587 100644
--- a/include/linux/pstore.h
+++ b/include/linux/pstore.h
@@ -24,6 +24,10 @@

#include <linux/time.h>
#include <linux/kmsg_dump.h>
+#include <linux/mutex.h>
+#include <linux/types.h>
+#include <linux/spinlock.h>
+#include <linux/errno.h>

/* types */
enum pstore_type_id {
@@ -34,6 +38,8 @@ enum pstore_type_id {
PSTORE_TYPE_UNKNOWN = 255
};

+struct module;
+
struct pstore_info {
struct module *owner;
char *name;
diff --git a/include/linux/pstore_ram.h b/include/linux/pstore_ram.h
index af848e1..ba2b211 100644
--- a/include/linux/pstore_ram.h
+++ b/include/linux/pstore_ram.h
@@ -24,6 +24,7 @@
#include <linux/init.h>

struct persistent_ram_buffer;
+struct rs_control;

struct persistent_ram_zone {
phys_addr_t paddr;
--
1.7.10.4

--
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/