diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/8250.c | 10 | ||||
-rw-r--r-- | drivers/serial/8250_gsc.c | 6 | ||||
-rw-r--r-- | drivers/serial/amba-pl010.c | 1 | ||||
-rw-r--r-- | drivers/serial/amba-pl011.c | 1 | ||||
-rw-r--r-- | drivers/serial/clps711x.c | 9 | ||||
-rw-r--r-- | drivers/serial/imx.c | 8 | ||||
-rw-r--r-- | drivers/serial/mpc52xx_uart.c | 8 | ||||
-rw-r--r-- | drivers/serial/mux.c | 11 | ||||
-rw-r--r-- | drivers/serial/pxa.c | 29 | ||||
-rw-r--r-- | drivers/serial/s3c2410.c | 9 | ||||
-rw-r--r-- | drivers/serial/sa1100.c | 8 | ||||
-rw-r--r-- | drivers/serial/vr41xx_siu.c | 10 |
12 files changed, 65 insertions, 45 deletions
diff --git a/drivers/serial/8250.c b/drivers/serial/8250.c index 4d75cdfa0a0a..afb7ddf200e0 100644 --- a/drivers/serial/8250.c +++ b/drivers/serial/8250.c | |||
@@ -2358,13 +2358,10 @@ static int __devexit serial8250_remove(struct device *dev) | |||
2358 | return 0; | 2358 | return 0; |
2359 | } | 2359 | } |
2360 | 2360 | ||
2361 | static int serial8250_suspend(struct device *dev, pm_message_t state, u32 level) | 2361 | static int serial8250_suspend(struct device *dev, pm_message_t state) |
2362 | { | 2362 | { |
2363 | int i; | 2363 | int i; |
2364 | 2364 | ||
2365 | if (level != SUSPEND_DISABLE) | ||
2366 | return 0; | ||
2367 | |||
2368 | for (i = 0; i < UART_NR; i++) { | 2365 | for (i = 0; i < UART_NR; i++) { |
2369 | struct uart_8250_port *up = &serial8250_ports[i]; | 2366 | struct uart_8250_port *up = &serial8250_ports[i]; |
2370 | 2367 | ||
@@ -2375,13 +2372,10 @@ static int serial8250_suspend(struct device *dev, pm_message_t state, u32 level) | |||
2375 | return 0; | 2372 | return 0; |
2376 | } | 2373 | } |
2377 | 2374 | ||
2378 | static int serial8250_resume(struct device *dev, u32 level) | 2375 | static int serial8250_resume(struct device *dev) |
2379 | { | 2376 | { |
2380 | int i; | 2377 | int i; |
2381 | 2378 | ||
2382 | if (level != RESUME_ENABLE) | ||
2383 | return 0; | ||
2384 | |||
2385 | for (i = 0; i < UART_NR; i++) { | 2379 | for (i = 0; i < UART_NR; i++) { |
2386 | struct uart_8250_port *up = &serial8250_ports[i]; | 2380 | struct uart_8250_port *up = &serial8250_ports[i]; |
2387 | 2381 | ||
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/amba-pl010.c b/drivers/serial/amba-pl010.c index 679e678c7e6a..ddd0307fece2 100644 --- a/drivers/serial/amba-pl010.c +++ b/drivers/serial/amba-pl010.c | |||
@@ -50,6 +50,7 @@ | |||
50 | 50 | ||
51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
52 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
53 | #include <asm/hardware.h> | ||
53 | #include <asm/hardware/amba.h> | 54 | #include <asm/hardware/amba.h> |
54 | #include <asm/hardware/amba_serial.h> | 55 | #include <asm/hardware/amba_serial.h> |
55 | 56 | ||
diff --git a/drivers/serial/amba-pl011.c b/drivers/serial/amba-pl011.c index 1ff629c74750..938d185841c9 100644 --- a/drivers/serial/amba-pl011.c +++ b/drivers/serial/amba-pl011.c | |||
@@ -50,6 +50,7 @@ | |||
50 | 50 | ||
51 | #include <asm/io.h> | 51 | #include <asm/io.h> |
52 | #include <asm/irq.h> | 52 | #include <asm/irq.h> |
53 | #include <asm/sizes.h> | ||
53 | #include <asm/hardware/amba.h> | 54 | #include <asm/hardware/amba.h> |
54 | #include <asm/hardware/clock.h> | 55 | #include <asm/hardware/clock.h> |
55 | #include <asm/hardware/amba_serial.h> | 56 | #include <asm/hardware/amba_serial.h> |
diff --git a/drivers/serial/clps711x.c b/drivers/serial/clps711x.c index 87ef368384fb..6a67e8f585b3 100644 --- a/drivers/serial/clps711x.c +++ b/drivers/serial/clps711x.c | |||
@@ -408,7 +408,11 @@ static struct uart_port clps711x_ports[UART_NR] = { | |||
408 | { | 408 | { |
409 | .iobase = SYSCON1, | 409 | .iobase = SYSCON1, |
410 | .irq = IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */ | 410 | .irq = IRQ_UTXINT1, /* IRQ_URXINT1, IRQ_UMSINT */ |
411 | #ifdef CONFIG_MP1000_90MHZ | ||
412 | .uartclk = 4515840, | ||
413 | #else | ||
411 | .uartclk = 3686400, | 414 | .uartclk = 3686400, |
415 | #endif | ||
412 | .fifosize = 16, | 416 | .fifosize = 16, |
413 | .ops = &clps711x_pops, | 417 | .ops = &clps711x_pops, |
414 | .line = 0, | 418 | .line = 0, |
@@ -417,7 +421,11 @@ static struct uart_port clps711x_ports[UART_NR] = { | |||
417 | { | 421 | { |
418 | .iobase = SYSCON2, | 422 | .iobase = SYSCON2, |
419 | .irq = IRQ_UTXINT2, /* IRQ_URXINT2 */ | 423 | .irq = IRQ_UTXINT2, /* IRQ_URXINT2 */ |
424 | #ifdef CONFIG_MP1000_90MHZ | ||
425 | .uartclk = 4515840, | ||
426 | #else | ||
420 | .uartclk = 3686400, | 427 | .uartclk = 3686400, |
428 | #endif | ||
421 | .fifosize = 16, | 429 | .fifosize = 16, |
422 | .ops = &clps711x_pops, | 430 | .ops = &clps711x_pops, |
423 | .line = 1, | 431 | .line = 1, |
@@ -551,6 +559,7 @@ console_initcall(clps711xuart_console_init); | |||
551 | static struct uart_driver clps711x_reg = { | 559 | static struct uart_driver clps711x_reg = { |
552 | .driver_name = "ttyCL", | 560 | .driver_name = "ttyCL", |
553 | .dev_name = "ttyCL", | 561 | .dev_name = "ttyCL", |
562 | .devfs_name = "ttyCL", | ||
554 | .major = SERIAL_CLPS711X_MAJOR, | 563 | .major = SERIAL_CLPS711X_MAJOR, |
555 | .minor = SERIAL_CLPS711X_MINOR, | 564 | .minor = SERIAL_CLPS711X_MINOR, |
556 | .nr = UART_NR, | 565 | .nr = UART_NR, |
diff --git a/drivers/serial/imx.c b/drivers/serial/imx.c index bdb4e454b8b0..5b3933b0c997 100644 --- a/drivers/serial/imx.c +++ b/drivers/serial/imx.c | |||
@@ -921,21 +921,21 @@ static struct uart_driver imx_reg = { | |||
921 | .cons = IMX_CONSOLE, | 921 | .cons = IMX_CONSOLE, |
922 | }; | 922 | }; |
923 | 923 | ||
924 | static int serial_imx_suspend(struct device *_dev, pm_message_t state, u32 level) | 924 | static int serial_imx_suspend(struct device *_dev, pm_message_t state) |
925 | { | 925 | { |
926 | struct imx_port *sport = dev_get_drvdata(_dev); | 926 | struct imx_port *sport = dev_get_drvdata(_dev); |
927 | 927 | ||
928 | if (sport && level == SUSPEND_DISABLE) | 928 | if (sport) |
929 | uart_suspend_port(&imx_reg, &sport->port); | 929 | uart_suspend_port(&imx_reg, &sport->port); |
930 | 930 | ||
931 | return 0; | 931 | return 0; |
932 | } | 932 | } |
933 | 933 | ||
934 | static int serial_imx_resume(struct device *_dev, u32 level) | 934 | static int serial_imx_resume(struct device *_dev) |
935 | { | 935 | { |
936 | struct imx_port *sport = dev_get_drvdata(_dev); | 936 | struct imx_port *sport = dev_get_drvdata(_dev); |
937 | 937 | ||
938 | if (sport && level == RESUME_ENABLE) | 938 | if (sport) |
939 | uart_resume_port(&imx_reg, &sport->port); | 939 | uart_resume_port(&imx_reg, &sport->port); |
940 | 940 | ||
941 | return 0; | 941 | return 0; |
diff --git a/drivers/serial/mpc52xx_uart.c b/drivers/serial/mpc52xx_uart.c index 0585ab27ffde..8a79968f8ce1 100644 --- a/drivers/serial/mpc52xx_uart.c +++ b/drivers/serial/mpc52xx_uart.c | |||
@@ -781,22 +781,22 @@ mpc52xx_uart_remove(struct device *dev) | |||
781 | 781 | ||
782 | #ifdef CONFIG_PM | 782 | #ifdef CONFIG_PM |
783 | static int | 783 | static int |
784 | mpc52xx_uart_suspend(struct device *dev, pm_message_t state, u32 level) | 784 | mpc52xx_uart_suspend(struct device *dev, pm_message_t state) |
785 | { | 785 | { |
786 | struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); | 786 | struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); |
787 | 787 | ||
788 | if (sport && level == SUSPEND_DISABLE) | 788 | if (sport) |
789 | uart_suspend_port(&mpc52xx_uart_driver, port); | 789 | uart_suspend_port(&mpc52xx_uart_driver, port); |
790 | 790 | ||
791 | return 0; | 791 | return 0; |
792 | } | 792 | } |
793 | 793 | ||
794 | static int | 794 | static int |
795 | mpc52xx_uart_resume(struct device *dev, u32 level) | 795 | mpc52xx_uart_resume(struct device *dev) |
796 | { | 796 | { |
797 | struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); | 797 | struct uart_port *port = (struct uart_port *) dev_get_drvdata(dev); |
798 | 798 | ||
799 | if (port && level == RESUME_ENABLE) | 799 | if (port) |
800 | uart_resume_port(&mpc52xx_uart_driver, port); | 800 | uart_resume_port(&mpc52xx_uart_driver, port); |
801 | 801 | ||
802 | return 0; | 802 | return 0; |
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 | }; |
diff --git a/drivers/serial/pxa.c b/drivers/serial/pxa.c index 90c2a86c421b..8cc4cedadd99 100644 --- a/drivers/serial/pxa.c +++ b/drivers/serial/pxa.c | |||
@@ -358,6 +358,9 @@ static int serial_pxa_startup(struct uart_port *port) | |||
358 | unsigned long flags; | 358 | unsigned long flags; |
359 | int retval; | 359 | int retval; |
360 | 360 | ||
361 | if (port->line == 3) /* HWUART */ | ||
362 | up->mcr |= UART_MCR_AFE; | ||
363 | else | ||
361 | up->mcr = 0; | 364 | up->mcr = 0; |
362 | 365 | ||
363 | /* | 366 | /* |
@@ -481,8 +484,10 @@ serial_pxa_set_termios(struct uart_port *port, struct termios *termios, | |||
481 | 484 | ||
482 | if ((up->port.uartclk / quot) < (2400 * 16)) | 485 | if ((up->port.uartclk / quot) < (2400 * 16)) |
483 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR1; | 486 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR1; |
484 | else | 487 | else if ((up->port.uartclk / quot) < (230400 * 16)) |
485 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR8; | 488 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR8; |
489 | else | ||
490 | fcr = UART_FCR_ENABLE_FIFO | UART_FCR_PXAR32; | ||
486 | 491 | ||
487 | /* | 492 | /* |
488 | * Ok, we're now changing the port state. Do it with | 493 | * Ok, we're now changing the port state. Do it with |
@@ -772,6 +777,20 @@ static struct uart_pxa_port serial_pxa_ports[] = { | |||
772 | .ops = &serial_pxa_pops, | 777 | .ops = &serial_pxa_pops, |
773 | .line = 2, | 778 | .line = 2, |
774 | }, | 779 | }, |
780 | }, { /* HWUART */ | ||
781 | .name = "HWUART", | ||
782 | .cken = CKEN4_HWUART, | ||
783 | .port = { | ||
784 | .type = PORT_PXA, | ||
785 | .iotype = UPIO_MEM, | ||
786 | .membase = (void *)&HWUART, | ||
787 | .mapbase = __PREG(HWUART), | ||
788 | .irq = IRQ_HWUART, | ||
789 | .uartclk = 921600 * 16, | ||
790 | .fifosize = 64, | ||
791 | .ops = &serial_pxa_pops, | ||
792 | .line = 3, | ||
793 | }, | ||
775 | } | 794 | } |
776 | }; | 795 | }; |
777 | 796 | ||
@@ -786,21 +805,21 @@ static struct uart_driver serial_pxa_reg = { | |||
786 | .cons = PXA_CONSOLE, | 805 | .cons = PXA_CONSOLE, |
787 | }; | 806 | }; |
788 | 807 | ||
789 | static int serial_pxa_suspend(struct device *_dev, pm_message_t state, u32 level) | 808 | static int serial_pxa_suspend(struct device *_dev, pm_message_t state) |
790 | { | 809 | { |
791 | struct uart_pxa_port *sport = dev_get_drvdata(_dev); | 810 | struct uart_pxa_port *sport = dev_get_drvdata(_dev); |
792 | 811 | ||
793 | if (sport && level == SUSPEND_DISABLE) | 812 | if (sport) |
794 | uart_suspend_port(&serial_pxa_reg, &sport->port); | 813 | uart_suspend_port(&serial_pxa_reg, &sport->port); |
795 | 814 | ||
796 | return 0; | 815 | return 0; |
797 | } | 816 | } |
798 | 817 | ||
799 | static int serial_pxa_resume(struct device *_dev, u32 level) | 818 | static int serial_pxa_resume(struct device *_dev) |
800 | { | 819 | { |
801 | struct uart_pxa_port *sport = dev_get_drvdata(_dev); | 820 | struct uart_pxa_port *sport = dev_get_drvdata(_dev); |
802 | 821 | ||
803 | if (sport && level == RESUME_ENABLE) | 822 | if (sport) |
804 | uart_resume_port(&serial_pxa_reg, &sport->port); | 823 | uart_resume_port(&serial_pxa_reg, &sport->port); |
805 | 824 | ||
806 | return 0; | 825 | return 0; |
diff --git a/drivers/serial/s3c2410.c b/drivers/serial/s3c2410.c index 52692aa345ec..06a17dff1a73 100644 --- a/drivers/serial/s3c2410.c +++ b/drivers/serial/s3c2410.c | |||
@@ -1134,23 +1134,22 @@ static int s3c24xx_serial_remove(struct device *_dev) | |||
1134 | 1134 | ||
1135 | #ifdef CONFIG_PM | 1135 | #ifdef CONFIG_PM |
1136 | 1136 | ||
1137 | static int s3c24xx_serial_suspend(struct device *dev, pm_message_t state, | 1137 | static int s3c24xx_serial_suspend(struct device *dev, pm_message_t state) |
1138 | u32 level) | ||
1139 | { | 1138 | { |
1140 | struct uart_port *port = s3c24xx_dev_to_port(dev); | 1139 | struct uart_port *port = s3c24xx_dev_to_port(dev); |
1141 | 1140 | ||
1142 | if (port && level == SUSPEND_DISABLE) | 1141 | if (port) |
1143 | uart_suspend_port(&s3c24xx_uart_drv, port); | 1142 | uart_suspend_port(&s3c24xx_uart_drv, port); |
1144 | 1143 | ||
1145 | return 0; | 1144 | return 0; |
1146 | } | 1145 | } |
1147 | 1146 | ||
1148 | static int s3c24xx_serial_resume(struct device *dev, u32 level) | 1147 | static int s3c24xx_serial_resume(struct device *dev) |
1149 | { | 1148 | { |
1150 | struct uart_port *port = s3c24xx_dev_to_port(dev); | 1149 | struct uart_port *port = s3c24xx_dev_to_port(dev); |
1151 | struct s3c24xx_uart_port *ourport = to_ourport(port); | 1150 | struct s3c24xx_uart_port *ourport = to_ourport(port); |
1152 | 1151 | ||
1153 | if (port && level == RESUME_ENABLE) { | 1152 | if (port) { |
1154 | clk_enable(ourport->clk); | 1153 | clk_enable(ourport->clk); |
1155 | s3c24xx_serial_resetport(port, s3c24xx_port_to_cfg(port)); | 1154 | s3c24xx_serial_resetport(port, s3c24xx_port_to_cfg(port)); |
1156 | clk_disable(ourport->clk); | 1155 | clk_disable(ourport->clk); |
diff --git a/drivers/serial/sa1100.c b/drivers/serial/sa1100.c index dd8aed242357..c4a789e6af44 100644 --- a/drivers/serial/sa1100.c +++ b/drivers/serial/sa1100.c | |||
@@ -834,21 +834,21 @@ static struct uart_driver sa1100_reg = { | |||
834 | .cons = SA1100_CONSOLE, | 834 | .cons = SA1100_CONSOLE, |
835 | }; | 835 | }; |
836 | 836 | ||
837 | static int sa1100_serial_suspend(struct device *_dev, pm_message_t state, u32 level) | 837 | static int sa1100_serial_suspend(struct device *_dev, pm_message_t state) |
838 | { | 838 | { |
839 | struct sa1100_port *sport = dev_get_drvdata(_dev); | 839 | struct sa1100_port *sport = dev_get_drvdata(_dev); |
840 | 840 | ||
841 | if (sport && level == SUSPEND_DISABLE) | 841 | if (sport) |
842 | uart_suspend_port(&sa1100_reg, &sport->port); | 842 | uart_suspend_port(&sa1100_reg, &sport->port); |
843 | 843 | ||
844 | return 0; | 844 | return 0; |
845 | } | 845 | } |
846 | 846 | ||
847 | static int sa1100_serial_resume(struct device *_dev, u32 level) | 847 | static int sa1100_serial_resume(struct device *_dev) |
848 | { | 848 | { |
849 | struct sa1100_port *sport = dev_get_drvdata(_dev); | 849 | struct sa1100_port *sport = dev_get_drvdata(_dev); |
850 | 850 | ||
851 | if (sport && level == RESUME_ENABLE) | 851 | if (sport) |
852 | uart_resume_port(&sa1100_reg, &sport->port); | 852 | uart_resume_port(&sa1100_reg, &sport->port); |
853 | 853 | ||
854 | return 0; | 854 | return 0; |
diff --git a/drivers/serial/vr41xx_siu.c b/drivers/serial/vr41xx_siu.c index 0c5d65a08f6e..2b623ab0e36e 100644 --- a/drivers/serial/vr41xx_siu.c +++ b/drivers/serial/vr41xx_siu.c | |||
@@ -976,14 +976,11 @@ static int siu_remove(struct device *dev) | |||
976 | return 0; | 976 | return 0; |
977 | } | 977 | } |
978 | 978 | ||
979 | static int siu_suspend(struct device *dev, pm_message_t state, u32 level) | 979 | static int siu_suspend(struct device *dev, pm_message_t state) |
980 | { | 980 | { |
981 | struct uart_port *port; | 981 | struct uart_port *port; |
982 | int i; | 982 | int i; |
983 | 983 | ||
984 | if (level != SUSPEND_DISABLE) | ||
985 | return 0; | ||
986 | |||
987 | for (i = 0; i < siu_uart_driver.nr; i++) { | 984 | for (i = 0; i < siu_uart_driver.nr; i++) { |
988 | port = &siu_uart_ports[i]; | 985 | port = &siu_uart_ports[i]; |
989 | if ((port->type == PORT_VR41XX_SIU || | 986 | if ((port->type == PORT_VR41XX_SIU || |
@@ -995,14 +992,11 @@ static int siu_suspend(struct device *dev, pm_message_t state, u32 level) | |||
995 | return 0; | 992 | return 0; |
996 | } | 993 | } |
997 | 994 | ||
998 | static int siu_resume(struct device *dev, u32 level) | 995 | static int siu_resume(struct device *dev) |
999 | { | 996 | { |
1000 | struct uart_port *port; | 997 | struct uart_port *port; |
1001 | int i; | 998 | int i; |
1002 | 999 | ||
1003 | if (level != RESUME_ENABLE) | ||
1004 | return 0; | ||
1005 | |||
1006 | for (i = 0; i < siu_uart_driver.nr; i++) { | 1000 | for (i = 0; i < siu_uart_driver.nr; i++) { |
1007 | port = &siu_uart_ports[i]; | 1001 | port = &siu_uart_ports[i]; |
1008 | if ((port->type == PORT_VR41XX_SIU || | 1002 | if ((port->type == PORT_VR41XX_SIU || |