]> 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 25b5d7a6641796fc272b41428917146a2dcd3215..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
@@ -1121,7 +1118,7 @@ static const struct tty_operations tty3215_ops = {
  * 3215 tty registration code called from tty_init().
  * Most kernel services (incl. kmalloc) are available at this poimt.
  */
-int __init
+static int __init
 tty3215_init(void)
 {
        struct tty_driver *driver;