From: Christian Borntraeger <borntraeger@de.ibm.com>

I also added a small Kconfig change that allows the user to specify the
virtio console in menuconfig.

(Fixes to export symbols from Stephen Rothwell <sfr@canb.auug.org.au>)
(Fixes for CONFIG_VIRTIO_CONSOLE=y vs CONFIG_VIRTIO=m from Christian himself)

Signed-off-by: Rusty Russell <rusty@rustcorp.com.au>
Cc: Stephen Rothwell <sfr@canb.auug.org.au>
---
 drivers/char/Kconfig       |    6 +++++-
 drivers/char/hvc_console.c |    4 ++++
 2 files changed, 9 insertions(+), 1 deletion(-)

diff -r 9871dcaffb95 drivers/char/Kconfig
--- a/drivers/char/Kconfig	Fri Jul 18 17:14:08 2008 +1000
+++ b/drivers/char/Kconfig	Fri Jul 18 17:15:15 2008 +1000
@@ -634,8 +634,12 @@ config HVC_XEN
 	  Xen virtual console device driver
 
 config VIRTIO_CONSOLE
-	bool
+	tristate "Virtio console"
+	depends on VIRTIO
 	select HVC_DRIVER
+	help
+	  Virtio console for use with lguest and other hypervisors.
+
 
 config HVCS
 	tristate "IBM Hypervisor Virtual Console Server support"
diff -r 9871dcaffb95 drivers/char/hvc_console.c
--- a/drivers/char/hvc_console.c	Fri Jul 18 17:14:08 2008 +1000
+++ b/drivers/char/hvc_console.c	Fri Jul 18 17:15:15 2008 +1000
@@ -280,6 +280,7 @@ int hvc_instantiate(uint32_t vtermno, in
 
 	return 0;
 }
+EXPORT_SYMBOL_GPL(hvc_instantiate);
 
 /* Wake the sleeping khvcd */
 void hvc_kick(void)
@@ -287,6 +288,7 @@ void hvc_kick(void)
 	hvc_kicked = 1;
 	wake_up_process(hvc_task);
 }
+EXPORT_SYMBOL_GPL(hvc_kick);
 
 static void hvc_unthrottle(struct tty_struct *tty)
 {
@@ -629,6 +631,7 @@ int hvc_poll(struct hvc_struct *hp)
 
 	return poll_mask;
 }
+EXPORT_SYMBOL_GPL(hvc_poll);
 
 /*
  * This kthread is either polling or interrupt driven.  This is determined by
@@ -739,6 +742,7 @@ struct hvc_struct __devinit *hvc_alloc(u
 
 	return hp;
 }
+EXPORT_SYMBOL_GPL(hvc_alloc);
 
 int __devexit hvc_remove(struct hvc_struct *hp)
 {
