diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-28 13:08:46 -0400 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2005-10-28 13:08:46 -0400 |
commit | 8ed575904373d7aaab7f15a8db2edc317a44df43 (patch) | |
tree | 3b2e92a396a1bbec8e1fb499f25e8aed93ab5692 /drivers/serial | |
parent | 27d1097d39509494706eaa2620ef3b1e780a3224 (diff) | |
parent | 210cc679faf0e1cabda9fc5d1279644f5e52aecb (diff) |
Merge branch 'forlinus' of git://parisc-linux.org/home/kyle/git/parisc-2.6
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250_gsc.c | 6 | ||||
-rw-r--r-- | drivers/serial/mux.c | 11 |
2 files changed, 10 insertions, 7 deletions
diff --git a/drivers/serial/8250_gsc.c b/drivers/serial/8250_gsc.c index 431aa5761a7a..8b4947933d9b 100644 --- a/drivers/serial/8250_gsc.c +++ b/drivers/serial/8250_gsc.c | |||
@@ -29,7 +29,6 @@ | |||
29 | static int __init | 29 | static int __init |
30 | serial_init_chip(struct parisc_device *dev) | 30 | serial_init_chip(struct parisc_device *dev) |
31 | { | 31 | { |
32 | static int serial_line_nr; | ||
33 | struct uart_port port; | 32 | struct uart_port port; |
34 | unsigned long address; | 33 | unsigned long address; |
35 | int err; | 34 | int err; |
@@ -42,12 +41,13 @@ serial_init_chip(struct parisc_device *dev) | |||
42 | */ | 41 | */ |
43 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) { | 42 | if (parisc_parent(dev)->id.hw_type != HPHW_IOA) { |
44 | printk(KERN_INFO "Serial: device 0x%lx not configured.\n" | 43 | printk(KERN_INFO "Serial: device 0x%lx not configured.\n" |
45 | "Enable support for Wax, Lasi, Asp or Dino.\n", dev->hpa); | 44 | "Enable support for Wax, Lasi, Asp or Dino.\n", |
45 | dev->hpa.start); | ||
46 | } | 46 | } |
47 | return -ENODEV; | 47 | return -ENODEV; |
48 | } | 48 | } |
49 | 49 | ||
50 | address = dev->hpa; | 50 | address = dev->hpa.start; |
51 | if (dev->id.sversion != 0x8d) { | 51 | if (dev->id.sversion != 0x8d) { |
52 | address += 0x800; | 52 | address += 0x800; |
53 | } | 53 | } |
diff --git a/drivers/serial/mux.c b/drivers/serial/mux.c index 189064607709..660bae5ba179 100644 --- a/drivers/serial/mux.c +++ b/drivers/serial/mux.c | |||
@@ -27,6 +27,7 @@ | |||
27 | #include <linux/delay.h> /* for udelay */ | 27 | #include <linux/delay.h> /* for udelay */ |
28 | #include <linux/device.h> | 28 | #include <linux/device.h> |
29 | #include <asm/io.h> | 29 | #include <asm/io.h> |
30 | #include <asm/irq.h> | ||
30 | #include <asm/parisc-device.h> | 31 | #include <asm/parisc-device.h> |
31 | 32 | ||
32 | #ifdef CONFIG_MAGIC_SYSRQ | 33 | #ifdef CONFIG_MAGIC_SYSRQ |
@@ -444,7 +445,7 @@ static int __init mux_probe(struct parisc_device *dev) | |||
444 | unsigned long bytecnt; | 445 | unsigned long bytecnt; |
445 | struct uart_port *port; | 446 | struct uart_port *port; |
446 | 447 | ||
447 | status = pdc_iodc_read(&bytecnt, dev->hpa, 0, iodc_data, 32); | 448 | status = pdc_iodc_read(&bytecnt, dev->hpa.start, 0, iodc_data, 32); |
448 | if(status != PDC_OK) { | 449 | if(status != PDC_OK) { |
449 | printk(KERN_ERR "Serial mux: Unable to read IODC.\n"); | 450 | printk(KERN_ERR "Serial mux: Unable to read IODC.\n"); |
450 | return 1; | 451 | return 1; |
@@ -469,16 +470,18 @@ static int __init mux_probe(struct parisc_device *dev) | |||
469 | for(i = 0; i < ports; ++i, ++port_cnt) { | 470 | for(i = 0; i < ports; ++i, ++port_cnt) { |
470 | port = &mux_ports[port_cnt]; | 471 | port = &mux_ports[port_cnt]; |
471 | port->iobase = 0; | 472 | port->iobase = 0; |
472 | port->mapbase = dev->hpa + MUX_OFFSET + (i * MUX_LINE_OFFSET); | 473 | port->mapbase = dev->hpa.start + MUX_OFFSET + |
474 | (i * MUX_LINE_OFFSET); | ||
473 | port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET); | 475 | port->membase = ioremap(port->mapbase, MUX_LINE_OFFSET); |
474 | port->iotype = SERIAL_IO_MEM; | 476 | port->iotype = SERIAL_IO_MEM; |
475 | port->type = PORT_MUX; | 477 | port->type = PORT_MUX; |
476 | port->irq = SERIAL_IRQ_NONE; | 478 | port->irq = NO_IRQ; |
477 | port->uartclk = 0; | 479 | port->uartclk = 0; |
478 | port->fifosize = MUX_FIFO_SIZE; | 480 | port->fifosize = MUX_FIFO_SIZE; |
479 | port->ops = &mux_pops; | 481 | port->ops = &mux_pops; |
480 | port->flags = UPF_BOOT_AUTOCONF; | 482 | port->flags = UPF_BOOT_AUTOCONF; |
481 | port->line = port_cnt; | 483 | port->line = port_cnt; |
484 | spin_lock_init(&port->lock); | ||
482 | status = uart_add_one_port(&mux_driver, port); | 485 | status = uart_add_one_port(&mux_driver, port); |
483 | BUG_ON(status); | 486 | BUG_ON(status); |
484 | } | 487 | } |
@@ -497,7 +500,7 @@ static struct parisc_device_id mux_tbl[] = { | |||
497 | MODULE_DEVICE_TABLE(parisc, mux_tbl); | 500 | MODULE_DEVICE_TABLE(parisc, mux_tbl); |
498 | 501 | ||
499 | static struct parisc_driver serial_mux_driver = { | 502 | static struct parisc_driver serial_mux_driver = { |
500 | .name = "Serial MUX", | 503 | .name = "serial_mux", |
501 | .id_table = mux_tbl, | 504 | .id_table = mux_tbl, |
502 | .probe = mux_probe, | 505 | .probe = mux_probe, |
503 | }; | 506 | }; |