[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-devel] [PATCH] [IA64] Fix ia64 build for 22396:c1b7aae86cf5



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

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.