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@linaro.org ---
On Tue, Jul 17, 2012 at 11:19:44AM -0700, Greg Kroah-Hartman wrote:
On Tue, Jul 17, 2012 at 11:13:59AM -0700, Anton Vorontsov wrote:
Headers should really include all the needed prototypes, types, defines
<snip>
Content-Transfer-Encoding: base64
That's not a nice way to send patches out, care to fix this and resend?
I used 'git send-email' as normal, and it said:
Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
OK, I checked what vger.kernel.org received, and it still says:
Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit
And I see the email readable in the text editor.
OK, with linux_banner I got what the problem is, but where base64 came from?.. :-/
Anyways, resending w/ mutt.
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;