diff options
-rw-r--r-- | arch/alpha/kernel/srmcons.c | 1 | ||||
-rw-r--r-- | arch/ia64/hp/sim/simserial.c | 1 | ||||
-rw-r--r-- | arch/parisc/kernel/pdc_cons.c | 1 | ||||
-rw-r--r-- | arch/xtensa/platforms/iss/console.c | 1 | ||||
-rw-r--r-- | drivers/char/ttyprintk.c | 1 | ||||
-rw-r--r-- | drivers/s390/char/sclp_tty.c | 1 | ||||
-rw-r--r-- | drivers/s390/char/sclp_vt220.c | 1 | ||||
-rw-r--r-- | drivers/tty/amiserial.c | 9 | ||||
-rw-r--r-- | drivers/tty/bfin_jtag_comm.c | 1 | ||||
-rw-r--r-- | drivers/tty/hvc/hvsi.c | 2 | ||||
-rw-r--r-- | drivers/tty/serial/68328serial.c | 15 | ||||
-rw-r--r-- | drivers/tty/serial/crisv10.c | 9 |
12 files changed, 30 insertions, 13 deletions
diff --git a/arch/alpha/kernel/srmcons.c b/arch/alpha/kernel/srmcons.c index 3ea809430eda..5d5865204a1d 100644 --- a/arch/alpha/kernel/srmcons.c +++ b/arch/alpha/kernel/srmcons.c | |||
@@ -223,6 +223,7 @@ srmcons_init(void) | |||
223 | driver->subtype = SYSTEM_TYPE_SYSCONS; | 223 | driver->subtype = SYSTEM_TYPE_SYSCONS; |
224 | driver->init_termios = tty_std_termios; | 224 | driver->init_termios = tty_std_termios; |
225 | tty_set_operations(driver, &srmcons_ops); | 225 | tty_set_operations(driver, &srmcons_ops); |
226 | tty_port_link_device(&srmcons_singleton.port, driver, 0); | ||
226 | err = tty_register_driver(driver); | 227 | err = tty_register_driver(driver); |
227 | if (err) { | 228 | if (err) { |
228 | put_tty_driver(driver); | 229 | put_tty_driver(driver); |
diff --git a/arch/ia64/hp/sim/simserial.c b/arch/ia64/hp/sim/simserial.c index 1ce97f497d23..ec536e4e36c9 100644 --- a/arch/ia64/hp/sim/simserial.c +++ b/arch/ia64/hp/sim/simserial.c | |||
@@ -545,6 +545,7 @@ static int __init simrs_init(void) | |||
545 | /* the port is imaginary */ | 545 | /* the port is imaginary */ |
546 | printk(KERN_INFO "ttyS0 at 0x03f8 (irq = %d) is a 16550\n", state->irq); | 546 | printk(KERN_INFO "ttyS0 at 0x03f8 (irq = %d) is a 16550\n", state->irq); |
547 | 547 | ||
548 | tty_port_link_device(&state->port, hp_simserial_driver, 0); | ||
548 | retval = tty_register_driver(hp_simserial_driver); | 549 | retval = tty_register_driver(hp_simserial_driver); |
549 | if (retval) { | 550 | if (retval) { |
550 | printk(KERN_ERR "Couldn't register simserial driver\n"); | 551 | printk(KERN_ERR "Couldn't register simserial driver\n"); |
diff --git a/arch/parisc/kernel/pdc_cons.c b/arch/parisc/kernel/pdc_cons.c index 47341aa208f2..88238638aee6 100644 --- a/arch/parisc/kernel/pdc_cons.c +++ b/arch/parisc/kernel/pdc_cons.c | |||
@@ -202,6 +202,7 @@ static int __init pdc_console_tty_driver_init(void) | |||
202 | pdc_console_tty_driver->flags = TTY_DRIVER_REAL_RAW | | 202 | pdc_console_tty_driver->flags = TTY_DRIVER_REAL_RAW | |
203 | TTY_DRIVER_RESET_TERMIOS; | 203 | TTY_DRIVER_RESET_TERMIOS; |
204 | tty_set_operations(pdc_console_tty_driver, &pdc_console_tty_ops); | 204 | tty_set_operations(pdc_console_tty_driver, &pdc_console_tty_ops); |
205 | tty_port_link_device(&tty_port, pdc_console_tty_driver, 0); | ||
205 | 206 | ||
206 | err = tty_register_driver(pdc_console_tty_driver); | 207 | err = tty_register_driver(pdc_console_tty_driver); |
207 | if (err) { | 208 | if (err) { |
diff --git a/arch/xtensa/platforms/iss/console.c b/arch/xtensa/platforms/iss/console.c index f9726f6afdf1..2cd3d3a3400b 100644 --- a/arch/xtensa/platforms/iss/console.c +++ b/arch/xtensa/platforms/iss/console.c | |||
@@ -223,6 +223,7 @@ int __init rs_init(void) | |||
223 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 223 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
224 | 224 | ||
225 | tty_set_operations(serial_driver, &serial_ops); | 225 | tty_set_operations(serial_driver, &serial_ops); |
226 | tty_port_link_device(&serial_port, serial_driver, 0); | ||
226 | 227 | ||
227 | if (tty_register_driver(serial_driver)) | 228 | if (tty_register_driver(serial_driver)) |
228 | panic("Couldn't register serial driver\n"); | 229 | panic("Couldn't register serial driver\n"); |
diff --git a/drivers/char/ttyprintk.c b/drivers/char/ttyprintk.c index 9e6272f0b98c..561f8aa7cd87 100644 --- a/drivers/char/ttyprintk.c +++ b/drivers/char/ttyprintk.c | |||
@@ -198,6 +198,7 @@ static int __init ttyprintk_init(void) | |||
198 | ttyprintk_driver->init_termios = tty_std_termios; | 198 | ttyprintk_driver->init_termios = tty_std_termios; |
199 | ttyprintk_driver->init_termios.c_oflag = OPOST | OCRNL | ONOCR | ONLRET; | 199 | ttyprintk_driver->init_termios.c_oflag = OPOST | OCRNL | ONOCR | ONLRET; |
200 | tty_set_operations(ttyprintk_driver, &ttyprintk_ops); | 200 | tty_set_operations(ttyprintk_driver, &ttyprintk_ops); |
201 | tty_port_link_device(&tpk_port.port, ttyprintk_driver, 0); | ||
201 | 202 | ||
202 | ret = tty_register_driver(ttyprintk_driver); | 203 | ret = tty_register_driver(ttyprintk_driver); |
203 | if (ret < 0) { | 204 | if (ret < 0) { |
diff --git a/drivers/s390/char/sclp_tty.c b/drivers/s390/char/sclp_tty.c index 0792c85baafe..30ec09e3d037 100644 --- a/drivers/s390/char/sclp_tty.c +++ b/drivers/s390/char/sclp_tty.c | |||
@@ -567,6 +567,7 @@ sclp_tty_init(void) | |||
567 | driver->init_termios.c_lflag = ISIG | ECHO; | 567 | driver->init_termios.c_lflag = ISIG | ECHO; |
568 | driver->flags = TTY_DRIVER_REAL_RAW; | 568 | driver->flags = TTY_DRIVER_REAL_RAW; |
569 | tty_set_operations(driver, &sclp_ops); | 569 | tty_set_operations(driver, &sclp_ops); |
570 | tty_port_link_device(&sclp_port, driver, 0); | ||
570 | rc = tty_register_driver(driver); | 571 | rc = tty_register_driver(driver); |
571 | if (rc) { | 572 | if (rc) { |
572 | put_tty_driver(driver); | 573 | put_tty_driver(driver); |
diff --git a/drivers/s390/char/sclp_vt220.c b/drivers/s390/char/sclp_vt220.c index edfc0fd73dc6..7e60f3d2f3f9 100644 --- a/drivers/s390/char/sclp_vt220.c +++ b/drivers/s390/char/sclp_vt220.c | |||
@@ -691,6 +691,7 @@ static int __init sclp_vt220_tty_init(void) | |||
691 | driver->init_termios = tty_std_termios; | 691 | driver->init_termios = tty_std_termios; |
692 | driver->flags = TTY_DRIVER_REAL_RAW; | 692 | driver->flags = TTY_DRIVER_REAL_RAW; |
693 | tty_set_operations(driver, &sclp_vt220_ops); | 693 | tty_set_operations(driver, &sclp_vt220_ops); |
694 | tty_port_link_device(&sclp_vt220_port, driver, 0); | ||
694 | 695 | ||
695 | rc = tty_register_driver(driver); | 696 | rc = tty_register_driver(driver); |
696 | if (rc) | 697 | if (rc) |
diff --git a/drivers/tty/amiserial.c b/drivers/tty/amiserial.c index 998731f01d62..2b7535d42e05 100644 --- a/drivers/tty/amiserial.c +++ b/drivers/tty/amiserial.c | |||
@@ -1710,10 +1710,6 @@ static int __init amiga_serial_probe(struct platform_device *pdev) | |||
1710 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 1710 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
1711 | tty_set_operations(serial_driver, &serial_ops); | 1711 | tty_set_operations(serial_driver, &serial_ops); |
1712 | 1712 | ||
1713 | error = tty_register_driver(serial_driver); | ||
1714 | if (error) | ||
1715 | goto fail_put_tty_driver; | ||
1716 | |||
1717 | state = rs_table; | 1713 | state = rs_table; |
1718 | state->port = (int)&custom.serdatr; /* Just to give it a value */ | 1714 | state->port = (int)&custom.serdatr; /* Just to give it a value */ |
1719 | state->custom_divisor = 0; | 1715 | state->custom_divisor = 0; |
@@ -1724,6 +1720,11 @@ static int __init amiga_serial_probe(struct platform_device *pdev) | |||
1724 | state->icount.overrun = state->icount.brk = 0; | 1720 | state->icount.overrun = state->icount.brk = 0; |
1725 | tty_port_init(&state->tport); | 1721 | tty_port_init(&state->tport); |
1726 | state->tport.ops = &amiga_port_ops; | 1722 | state->tport.ops = &amiga_port_ops; |
1723 | tty_port_link_device(&state->tport, serial_driver, 0); | ||
1724 | |||
1725 | error = tty_register_driver(serial_driver); | ||
1726 | if (error) | ||
1727 | goto fail_put_tty_driver; | ||
1727 | 1728 | ||
1728 | printk(KERN_INFO "ttyS0 is the amiga builtin serial port\n"); | 1729 | printk(KERN_INFO "ttyS0 is the amiga builtin serial port\n"); |
1729 | 1730 | ||
diff --git a/drivers/tty/bfin_jtag_comm.c b/drivers/tty/bfin_jtag_comm.c index 61fc74fe1747..02b7d3a09696 100644 --- a/drivers/tty/bfin_jtag_comm.c +++ b/drivers/tty/bfin_jtag_comm.c | |||
@@ -263,6 +263,7 @@ static int __init bfin_jc_init(void) | |||
263 | bfin_jc_driver->subtype = SERIAL_TYPE_NORMAL; | 263 | bfin_jc_driver->subtype = SERIAL_TYPE_NORMAL; |
264 | bfin_jc_driver->init_termios = tty_std_termios; | 264 | bfin_jc_driver->init_termios = tty_std_termios; |
265 | tty_set_operations(bfin_jc_driver, &bfin_jc_ops); | 265 | tty_set_operations(bfin_jc_driver, &bfin_jc_ops); |
266 | tty_port_link_device(&port, bfin_jc_driver, 0); | ||
266 | 267 | ||
267 | ret = tty_register_driver(bfin_jc_driver); | 268 | ret = tty_register_driver(bfin_jc_driver); |
268 | if (ret) | 269 | if (ret) |
diff --git a/drivers/tty/hvc/hvsi.c b/drivers/tty/hvc/hvsi.c index 6f5bc49c441f..0083bc1f63f4 100644 --- a/drivers/tty/hvc/hvsi.c +++ b/drivers/tty/hvc/hvsi.c | |||
@@ -1080,6 +1080,8 @@ static int __init hvsi_init(void) | |||
1080 | struct hvsi_struct *hp = &hvsi_ports[i]; | 1080 | struct hvsi_struct *hp = &hvsi_ports[i]; |
1081 | int ret = 1; | 1081 | int ret = 1; |
1082 | 1082 | ||
1083 | tty_port_link_device(&hp->port, hvsi_driver, i); | ||
1084 | |||
1083 | ret = request_irq(hp->virq, hvsi_interrupt, 0, "hvsi", hp); | 1085 | ret = request_irq(hp->virq, hvsi_interrupt, 0, "hvsi", hp); |
1084 | if (ret) | 1086 | if (ret) |
1085 | printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n", | 1087 | printk(KERN_ERR "HVSI: couldn't reserve irq 0x%x (error %i)\n", |
diff --git a/drivers/tty/serial/68328serial.c b/drivers/tty/serial/68328serial.c index cc4c092fef06..66c38a3f74ce 100644 --- a/drivers/tty/serial/68328serial.c +++ b/drivers/tty/serial/68328serial.c | |||
@@ -1189,12 +1189,6 @@ rs68328_init(void) | |||
1189 | serial_driver->flags = TTY_DRIVER_REAL_RAW; | 1189 | serial_driver->flags = TTY_DRIVER_REAL_RAW; |
1190 | tty_set_operations(serial_driver, &rs_ops); | 1190 | tty_set_operations(serial_driver, &rs_ops); |
1191 | 1191 | ||
1192 | if (tty_register_driver(serial_driver)) { | ||
1193 | put_tty_driver(serial_driver); | ||
1194 | printk(KERN_ERR "Couldn't register serial driver\n"); | ||
1195 | return -ENOMEM; | ||
1196 | } | ||
1197 | |||
1198 | local_irq_save(flags); | 1192 | local_irq_save(flags); |
1199 | 1193 | ||
1200 | for(i=0;i<NR_PORTS;i++) { | 1194 | for(i=0;i<NR_PORTS;i++) { |
@@ -1224,8 +1218,17 @@ rs68328_init(void) | |||
1224 | 0, | 1218 | 0, |
1225 | "M68328_UART", info)) | 1219 | "M68328_UART", info)) |
1226 | panic("Unable to attach 68328 serial interrupt\n"); | 1220 | panic("Unable to attach 68328 serial interrupt\n"); |
1221 | |||
1222 | tty_port_link_device(&info->tport, serial_driver, i); | ||
1227 | } | 1223 | } |
1228 | local_irq_restore(flags); | 1224 | local_irq_restore(flags); |
1225 | |||
1226 | if (tty_register_driver(serial_driver)) { | ||
1227 | put_tty_driver(serial_driver); | ||
1228 | printk(KERN_ERR "Couldn't register serial driver\n"); | ||
1229 | return -ENOMEM; | ||
1230 | } | ||
1231 | |||
1229 | return 0; | 1232 | return 0; |
1230 | } | 1233 | } |
1231 | 1234 | ||
diff --git a/drivers/tty/serial/crisv10.c b/drivers/tty/serial/crisv10.c index 5ecec3b120e7..35ee6a2c6877 100644 --- a/drivers/tty/serial/crisv10.c +++ b/drivers/tty/serial/crisv10.c | |||
@@ -4447,10 +4447,8 @@ static int __init rs_init(void) | |||
4447 | 4447 | ||
4448 | tty_set_operations(driver, &rs_ops); | 4448 | tty_set_operations(driver, &rs_ops); |
4449 | serial_driver = driver; | 4449 | serial_driver = driver; |
4450 | if (tty_register_driver(driver)) | ||
4451 | panic("Couldn't register serial driver\n"); | ||
4452 | /* do some initializing for the separate ports */ | ||
4453 | 4450 | ||
4451 | /* do some initializing for the separate ports */ | ||
4454 | for (i = 0, info = rs_table; i < NR_PORTS; i++,info++) { | 4452 | for (i = 0, info = rs_table; i < NR_PORTS; i++,info++) { |
4455 | if (info->enabled) { | 4453 | if (info->enabled) { |
4456 | if (cris_request_io_interface(info->io_if, | 4454 | if (cris_request_io_interface(info->io_if, |
@@ -4502,7 +4500,12 @@ static int __init rs_init(void) | |||
4502 | printk(KERN_INFO "%s%d at %p is a builtin UART with DMA\n", | 4500 | printk(KERN_INFO "%s%d at %p is a builtin UART with DMA\n", |
4503 | serial_driver->name, info->line, info->ioport); | 4501 | serial_driver->name, info->line, info->ioport); |
4504 | } | 4502 | } |
4503 | tty_port_link_device(&info->port, driver, i); | ||
4505 | } | 4504 | } |
4505 | |||
4506 | if (tty_register_driver(driver)) | ||
4507 | panic("Couldn't register serial driver\n"); | ||
4508 | |||
4506 | #ifdef CONFIG_ETRAX_FAST_TIMER | 4509 | #ifdef CONFIG_ETRAX_FAST_TIMER |
4507 | #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER | 4510 | #ifdef CONFIG_ETRAX_SERIAL_FAST_TIMER |
4508 | memset(fast_timers, 0, sizeof(fast_timers)); | 4511 | memset(fast_timers, 0, sizeof(fast_timers)); |