xen: fix "xen: implement save/restore"
Ingo Molnar [Thu, 29 May 2008 07:31:50 +0000 (09:31 +0200)]
-tip testing found the following build breakage:

  drivers/built-in.o: In function `xen_suspend':
  manage.c:(.text+0x4390f): undefined reference to `xen_console_resume'

with this config:

  http://redhat.com/~mingo/misc/config-Thu_May_29_09_23_16_CEST_2008.bad

i have bisected it down to:

|  commit 0e91398f2a5d4eb6b07df8115917d0d1cf3e9b58
|  Author: Jeremy Fitzhardinge <jeremy@goop.org>
|  Date:   Mon May 26 23:31:27 2008 +0100
|
|      xen: implement save/restore

the problem is that drivers/xen/manage.c is built unconditionally if
CONFIG_XEN is enabled and makes use of xen_suspend(), but
drivers/char/hvc_xen.c, where the xen_suspend() method is implemented,
is only build if CONFIG_HVC_XEN=y as well.

i have solved this by providing a NOP implementation for xen_suspend()
in the !CONFIG_HVC_XEN case.

Signed-off-by: Ingo Molnar <mingo@elte.hu>

include/xen/hvc-console.h

index fd5483a..98b79bc 100644 (file)
@@ -3,7 +3,11 @@
 
 extern struct console xenboot_console;
 
+#ifdef CONFIG_HVC_XEN
 void xen_console_resume(void);
+#else
+static inline void xen_console_resume(void) { }
+#endif
 
 void xen_raw_console_write(const char *str);
 void xen_raw_printk(const char *fmt, ...);