Commit 9024871d authored by Hollis Blanchard's avatar Hollis Blanchard Committed by Linus Torvalds

[PATCH] ppc64: HVSI driver

This is a console driver for IBM's p5 servers; please consider it for
inclusion.  I've addressed all the comments I've received so far.
Signed-off-by: default avatarHollis Blanchard <hollisb@us.ibm.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 923bf111
...@@ -517,10 +517,29 @@ static int __init set_preferred_console(void) ...@@ -517,10 +517,29 @@ static int __init set_preferred_console(void)
return -ENODEV; return -ENODEV;
} }
} }
} else if (strcmp(name, "vty") == 0) } else if (strcmp(name, "vty") == 0) {
/* pSeries LPAR virtual console */ u32 *reg = (u32 *)get_property(prom_stdout, "reg", NULL);
return add_preferred_console("hvc", 0, NULL); char *compat = (char *)get_property(prom_stdout, "compatible", NULL);
else if (strcmp(name, "ch-a") == 0)
if (reg && compat && (strcmp(compat, "hvterm-protocol") == 0)) {
/* Host Virtual Serial Interface */
int offset;
switch (reg[0]) {
case 0x30000000:
offset = 0;
break;
case 0x30000001:
offset = 1;
break;
default:
return -ENODEV;
}
return add_preferred_console("hvsi", offset, NULL);
} else {
/* pSeries LPAR virtual console */
return add_preferred_console("hvc", 0, NULL);
}
} else if (strcmp(name, "ch-a") == 0)
offset = 0; offset = 0;
else if (strcmp(name, "ch-b") == 0) else if (strcmp(name, "ch-b") == 0)
offset = 1; offset = 1;
......
...@@ -39,7 +39,7 @@ obj-$(CONFIG_N_HDLC) += n_hdlc.o ...@@ -39,7 +39,7 @@ obj-$(CONFIG_N_HDLC) += n_hdlc.o
obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o obj-$(CONFIG_AMIGA_BUILTIN_SERIAL) += amiserial.o
obj-$(CONFIG_SX) += sx.o generic_serial.o obj-$(CONFIG_SX) += sx.o generic_serial.o
obj-$(CONFIG_RIO) += rio/ generic_serial.o obj-$(CONFIG_RIO) += rio/ generic_serial.o
obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o obj-$(CONFIG_HVC_CONSOLE) += hvc_console.o hvsi.o
obj-$(CONFIG_RAW_DRIVER) += raw.o obj-$(CONFIG_RAW_DRIVER) += raw.o
obj-$(CONFIG_VIOCONS) += viocons.o obj-$(CONFIG_VIOCONS) += viocons.o
obj-$(CONFIG_VIOTAPE) += viotape.o obj-$(CONFIG_VIOTAPE) += viotape.o
......
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment