diff -u -r linux-2.2.2-2.2.3-hio2/drivers/video/fbcon.c linux-2.2.3-hio2/drivers/video/fbcon.c
--- linux-2.2.2-2.2.3-hio2/drivers/video/fbcon.c	Tue Mar 16 03:43:42 1999
+++ linux-2.2.3-hio2/drivers/video/fbcon.c	Tue Mar 16 03:50:17 1999
@@ -725,7 +725,11 @@
 	    redraw_cursor = 1;
     }
 
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
     p_dispsw_putc(conp, p, c, real_y(p, ypos), xpos);
+#else
+    p->dispsw->putc(conp, p, c, real_y(p, ypos), xpos);
+#endif
 
     if (redraw_cursor)
 	    vbl_cursor_cnt = CURSOR_DRAW_DELAY;
@@ -750,7 +754,11 @@
 	    cursor_undrawn();
 	    redraw_cursor = 1;
     }
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
     p_dispsw_putcs(conp, p, s, count, real_y(p, ypos), xpos);
+#else
+    p->dispsw->putcs(conp, p, s, count, real_y(p, ypos), xpos);
+#endif
     if (redraw_cursor)
 	    vbl_cursor_cnt = CURSOR_DRAW_DELAY;
 }
@@ -959,16 +967,26 @@
 	    if (attr != (c & 0xff00)) {
 		attr = c & 0xff00;
 		if (s > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
+		    p_dispsw_putcs(conp, p, start, s - start,
+				     real_y(p, line), x);
+#else
 		    p->dispsw->putcs(conp, p, start, s - start,
 				     real_y(p, line), x);
+#endif
 		    x += s - start;
 		    start = s;
 		}
 	    }
 	    if (c == scr_readw(d)) {
 	    	if (s > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
+	    	    p_dispsw_putcs(conp, p, start, s - start,
+				     real_y(p, line), x);
+#else
 	    	    p->dispsw->putcs(conp, p, start, s - start,
 				     real_y(p, line), x);
+#endif
 		    x += s - start + 1;
 		    start = s + 1;
 	    	} else {
@@ -980,7 +998,11 @@
 	    d++;
 	} while (s < le);
 	if (s > start)
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
+	    p_dispsw_putcs(conp, p, start, s - start, real_y(p, line), x);
+#else
 	    p->dispsw->putcs(conp, p, start, s - start, real_y(p, line), x);
+#endif
 	line++;
 	if (d == (u16 *)softback_end)
 	    d = (u16 *)softback_buf;
@@ -1012,16 +1034,26 @@
 	    if (attr != (c & 0xff00)) {
 		attr = c & 0xff00;
 		if (s > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 		    p_dispsw_putcs(conp, p, start, s - start,
 				     real_y(p, line), x);
+#else
+		    p->dispsw->putcs(conp, p, start, s - start,
+				     real_y(p, line), x);
+#endif
 		    x += s - start;
 		    start = s;
 		}
 	    }
 	    if (c == scr_readw(d)) {
 	    	if (s > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 	    	    p_dispsw_putcs(conp, p, start, s - start,
 				     real_y(p, line), x);
+#else
+	    	    p->dispsw->putcs(conp, p, start, s - start,
+				     real_y(p, line), x);
+#endif
 		    x += s - start + 1;
 		    start = s + 1;
 	    	} else {
@@ -1034,7 +1066,11 @@
 	    d++;
 	} while (s < le);
 	if (s > start)
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 	    p_dispsw_putcs(conp, p, start, s - start, real_y(p, line), x);
+#else
+	    p->dispsw->putcs(conp, p, start, s - start, real_y(p, line), x);
+#endif
 	if (offset > 0)
 		line++;
 	else {
@@ -1070,14 +1106,22 @@
 	    if (attr != (c & 0xff00)) {
 		attr = c & 0xff00;
 		if (d > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 		    p_dispsw_putcs(conp, p, start, d - start, dy, x);
+#else
+		    p->dispsw->putcs(conp, p, start, d - start, dy, x);
+#endif
 		    x += d - start;
 		    start = d;
 		}
 	    }
 	    if (s >= ls && s < le && c == scr_readw(s)) {
 		if (d > start) {
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 		    p_dispsw_putcs(conp, p, start, d - start, dy, x);
+#else
+		    p->dispsw->putcs(conp, p, start, d - start, dy, x);
+#endif
 		    x += d - start + 1;
 		    start = d + 1;
 		} else {
@@ -1089,7 +1133,11 @@
 	    d++;
 	} while (d < le);
 	if (d > start)
+#ifdef CONFIG_FBCON_HANGUL_OUTPUT
 	    p_dispsw_putcs(conp, p, start, d - start, dy, x);
+#else
+	    p->dispsw->putcs(conp, p, start, d - start, dy, x);
+#endif
 	sy++;
 	dy++;
     }
@@ -2389,12 +2437,14 @@
 
     p->dispsw->putc(conp, p, c, yy, xx);
 }
+/*
 #else
 void p_dispsw_putc(struct vc_data *conp, struct display *p, 
 		      int c, int yy, int xx)
 {
     p->dispsw->putc(conp, p, c, yy, xx);
 }
+*/
 #endif
 
 #ifdef CONFIG_FBCON_HANGUL_OUTPUT
@@ -2507,12 +2557,14 @@
 	}
     }
 }
+/*
 #else
 void p_dispsw_putcs(struct vc_data *conp, struct display *p, 
 		      const unsigned short *s, int count, int yy, int xx)
 {
     p->dispsw->putcs(conp, p, s, count, yy, xx);
 }
+*/
 #endif
 /*
  *  The console `switch' structure for the frame buffer based console
