Hi,
The header xen/include/xen/wait.h conflicts with
xen/include/asm-ia64/linux/wait.h on ia64.
This patch fixes it.
# xen/include/xen/wait.h introduced by 22396:c1b7aae86cf5.
Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
--
KUWAMURA Shin'ya
# HG changeset patch
# User KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
# Date 1309935051 -32400
# Node ID cc8b5b62702cb857760728781f08059e53ea0a4e
# Parent 7e4404a8f5f9bc111a80f15a2bce35378b39f2f1
[IA64] Fix ia64 build for 22396:c1b7aae86cf5
22396:c1b7aae86cf5 introduced xen/include/xen/wait.h,
but it conflicts with xen/include/asm-ia64/linux/wait.h on ia64.
Signed-off-by: KUWAMURA Shin'ya <kuwa@xxxxxxxxxxxxxx>
diff -r 7e4404a8f5f9 -r cc8b5b62702c
xen/include/asm-ia64/linux-xen/linux/README.origin
--- a/xen/include/asm-ia64/linux-xen/linux/README.origin Mon Jul 04
07:57:32 2011 +0100
+++ b/xen/include/asm-ia64/linux-xen/linux/README.origin Wed Jul 06
15:50:51 2011 +0900
@@ -16,6 +16,7 @@ oprofile.h -> linux/include/linux/oprof
pci.h -> linux/include/linux/pci.h
kobject.h -> linux/include/linux/kobject.h
device.h -> linux/include/linux/device.h
+completion.h -> linux/include/linux/completion.h
# The files below are from Linux-2.6.21
cpu.h -> linux/include/linux/cpu.h
diff -r 7e4404a8f5f9 -r cc8b5b62702c
xen/include/asm-ia64/linux-xen/linux/completion.h
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/xen/include/asm-ia64/linux-xen/linux/completion.h Wed Jul 06 15:50:51
2011 +0900
@@ -0,0 +1,61 @@
+#ifndef __LINUX_COMPLETION_H
+#define __LINUX_COMPLETION_H
+
+/*
+ * (C) Copyright 2001 Linus Torvalds
+ *
+ * Atomic wait-for-completion handler data structures.
+ * See kernel/sched.c for details.
+ */
+
+#include <linux/wait.h>
+
+struct completion {
+ unsigned int done;
+#ifndef XEN
+ wait_queue_head_t wait;
+#endif
+};
+
+#define COMPLETION_INITIALIZER(work) \
+ { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
+
+#define COMPLETION_INITIALIZER_ONSTACK(work) \
+ ({ init_completion(&work); work; })
+
+#define DECLARE_COMPLETION(work) \
+ struct completion work = COMPLETION_INITIALIZER(work)
+
+/*
+ * Lockdep needs to run a non-constant initializer for on-stack
+ * completions - so we use the _ONSTACK() variant for those that
+ * are on the kernel stack:
+ */
+#ifdef CONFIG_LOCKDEP
+# define DECLARE_COMPLETION_ONSTACK(work) \
+ struct completion work = COMPLETION_INITIALIZER_ONSTACK(work)
+#else
+# define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)
+#endif
+
+static inline void init_completion(struct completion *x)
+{
+ x->done = 0;
+#ifndef XEN
+ init_waitqueue_head(&x->wait);
+#endif
+}
+
+extern void FASTCALL(wait_for_completion(struct completion *));
+extern int FASTCALL(wait_for_completion_interruptible(struct completion *x));
+extern unsigned long FASTCALL(wait_for_completion_timeout(struct completion *x,
+ unsigned long timeout));
+extern unsigned long FASTCALL(wait_for_completion_interruptible_timeout(
+ struct completion *x, unsigned long timeout));
+
+extern void FASTCALL(complete(struct completion *));
+extern void FASTCALL(complete_all(struct completion *));
+
+#define INIT_COMPLETION(x) ((x).done = 0)
+
+#endif
diff -r 7e4404a8f5f9 -r cc8b5b62702c
xen/include/asm-ia64/linux-xen/linux/kobject.h
--- a/xen/include/asm-ia64/linux-xen/linux/kobject.h Mon Jul 04 07:57:32
2011 +0100
+++ b/xen/include/asm-ia64/linux-xen/linux/kobject.h Wed Jul 06 15:50:51
2011 +0900
@@ -58,7 +58,9 @@ struct kobject {
struct kset * kset;
struct kobj_type * ktype;
struct dentry * dentry;
+#ifndef XEN
wait_queue_head_t poll;
+#endif
};
extern int kobject_set_name(struct kobject *, const char *, ...)
diff -r 7e4404a8f5f9 -r cc8b5b62702c xen/include/asm-ia64/linux/README.origin
--- a/xen/include/asm-ia64/linux/README.origin Mon Jul 04 07:57:32 2011 +0100
+++ b/xen/include/asm-ia64/linux/README.origin Wed Jul 06 15:50:51 2011 +0900
@@ -24,7 +24,6 @@ topology.h -> linux/include/linux/topol
wait.h -> linux/include/linux/wait.h
# The files below are from Linux-2.6.19
-completion.h -> linux/include/linux/completion.h
ioport.h -> linux/include/linux/ioport.h
klist.h -> linux/include/linux/klist.h
kref.h -> linux/include/linux/kref.h
diff -r 7e4404a8f5f9 -r cc8b5b62702c xen/include/asm-ia64/linux/completion.h
--- a/xen/include/asm-ia64/linux/completion.h Mon Jul 04 07:57:32 2011 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,57 +0,0 @@
-#ifndef __LINUX_COMPLETION_H
-#define __LINUX_COMPLETION_H
-
-/*
- * (C) Copyright 2001 Linus Torvalds
- *
- * Atomic wait-for-completion handler data structures.
- * See kernel/sched.c for details.
- */
-
-#include <linux/wait.h>
-
-struct completion {
- unsigned int done;
- wait_queue_head_t wait;
-};
-
-#define COMPLETION_INITIALIZER(work) \
- { 0, __WAIT_QUEUE_HEAD_INITIALIZER((work).wait) }
-
-#define COMPLETION_INITIALIZER_ONSTACK(work) \
- ({ init_completion(&work); work; })
-
-#define DECLARE_COMPLETION(work) \
- struct completion work = COMPLETION_INITIALIZER(work)
-
-/*
- * Lockdep needs to run a non-constant initializer for on-stack
- * completions - so we use the _ONSTACK() variant for those that
- * are on the kernel stack:
- */
-#ifdef CONFIG_LOCKDEP
-# define DECLARE_COMPLETION_ONSTACK(work) \
- struct completion work = COMPLETION_INITIALIZER_ONSTACK(work)
-#else
-# define DECLARE_COMPLETION_ONSTACK(work) DECLARE_COMPLETION(work)
-#endif
-
-static inline void init_completion(struct completion *x)
-{
- x->done = 0;
- init_waitqueue_head(&x->wait);
-}
-
-extern void FASTCALL(wait_for_completion(struct completion *));
-extern int FASTCALL(wait_for_completion_interruptible(struct completion *x));
-extern unsigned long FASTCALL(wait_for_completion_timeout(struct completion *x,
- unsigned long timeout));
-extern unsigned long FASTCALL(wait_for_completion_interruptible_timeout(
- struct completion *x, unsigned long timeout));
-
-extern void FASTCALL(complete(struct completion *));
-extern void FASTCALL(complete_all(struct completion *));
-
-#define INIT_COMPLETION(x) ((x).done = 0)
-
-#endif
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-devel
|