]> nv-tegra.nvidia Code Review - linux-2.6.git/blobdiff - arch/ia64/hp/sim/hpsim_console.c
Merge branch 'x86-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git...
[linux-2.6.git] / arch / ia64 / hp / sim / hpsim_console.c
index 6e149c8ab83514af175ea8d03563b43893acc5d8..01663bc42b1a25e8c18d72f93f6ec318ac5d10fb 100644 (file)
@@ -21,6 +21,7 @@
 #include <asm/machvec.h>
 #include <asm/pgtable.h>
 #include <asm/sal.h>
+#include <asm/hpsim.h>
 
 #include "hpsim_ssc.h"
 
@@ -28,7 +29,7 @@ static int simcons_init (struct console *, char *);
 static void simcons_write (struct console *, const char *, unsigned);
 static struct tty_driver *simcons_console_device (struct console *, int *);
 
-struct console hpsim_cons = {
+static struct console hpsim_cons = {
        .name =         "simcons",
        .write =        simcons_write,
        .device =       simcons_console_device,
@@ -58,7 +59,18 @@ simcons_write (struct console *cons, const char *buf, unsigned count)
 
 static struct tty_driver *simcons_console_device (struct console *c, int *index)
 {
-       extern struct tty_driver *hp_simserial_driver;
        *index = c->index;
        return hp_simserial_driver;
 }
+
+int simcons_register(void)
+{
+       if (!ia64_platform_is("hpsim"))
+               return 1;
+
+       if (hpsim_cons.flags & CON_ENABLED)
+               return 1;
+
+       register_console(&hpsim_cons);
+       return 0;
+}