]> pilppa.org Git - linux-2.6-omap-h63xx.git/blobdiff - drivers/s390/char/con3215.c
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland...
[linux-2.6-omap-h63xx.git] / drivers / s390 / char / con3215.c
index 9a328f14a6418bba396cf9b61f40e702b139ba24..3e5653c92f4b5e5b6d1c5b1edd14b5f6eaa23af6 100644 (file)
@@ -667,6 +667,9 @@ raw3215_probe (struct ccw_device *cdev)
        struct raw3215_info *raw;
        int line;
 
+       /* Console is special. */
+       if (raw3215[0] && (cdev->dev.driver_data == raw3215[0]))
+               return 0;
        raw = kmalloc(sizeof(struct raw3215_info) +
                      RAW3215_INBUF_SIZE, GFP_KERNEL|GFP_DMA);
        if (raw == NULL)
@@ -813,12 +816,6 @@ con3215_unblank(void)
        spin_unlock_irqrestore(get_ccwdev_lock(raw->cdev), flags);
 }
 
-static int __init 
-con3215_consetup(struct console *co, char *options)
-{
-       return 0;
-}
-
 /*
  *  The console structure for the 3215 console
  */
@@ -827,7 +824,6 @@ static struct console con3215 = {
        .write   = con3215_write,
        .device  = con3215_device,
        .unblank = con3215_unblank,
-       .setup   = con3215_consetup,
        .flags   = CON_PRINTBUFFER,
 };
 
@@ -986,15 +982,16 @@ tty3215_write(struct tty_struct * tty,
 /*
  * Put character routine for 3215 ttys
  */
-static void
+static int
 tty3215_put_char(struct tty_struct *tty, unsigned char ch)
 {
        struct raw3215_info *raw;
 
        if (!tty)
-               return;
+               return 0;
        raw = (struct raw3215_info *) tty->driver_data;
        raw3215_putchar(raw, ch);
+       return 1;
 }
 
 static void