WARNING - OLD ARCHIVES

This is an archived copy of the Xen.org mailing list, which we have preserved to ensure that existing links to archives are not broken. The live archive, which contains the latest emails, can be found at http://lists.xen.org/
   
 
 
Xen 
 
Home Products Support Community News
 
   
 

xen-devel

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

To: xen-devel@xxxxxxxxxxxxxxxxxxx
Subject: [Xen-devel] [PATCH] [IA64] Fix ia64 build for 22396:c1b7aae86cf5
From: "KUWAMURA Shin'ya" <kuwa@xxxxxxxxxxxxxx>
Date: Fri, 15 Jul 2011 15:09:09 +0900 (JST)
Delivery-date: Thu, 14 Jul 2011 23:11:52 -0700
Envelope-to: www-data@xxxxxxxxxxxxxxxxxxx
List-help: <mailto:xen-devel-request@lists.xensource.com?subject=help>
List-id: Xen developer discussion <xen-devel.lists.xensource.com>
List-post: <mailto:xen-devel@lists.xensource.com>
List-subscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=subscribe>
List-unsubscribe: <http://lists.xensource.com/mailman/listinfo/xen-devel>, <mailto:xen-devel-request@lists.xensource.com?subject=unsubscribe>
Sender: xen-devel-bounces@xxxxxxxxxxxxxxxxxxx
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
<Prev in Thread] Current Thread [Next in Thread>
  • [Xen-devel] [PATCH] [IA64] Fix ia64 build for 22396:c1b7aae86cf5, KUWAMURA Shin'ya <=