diff options
Diffstat (limited to 'drivers/serial')
-rw-r--r-- | drivers/serial/68328serial.c | 2 | ||||
-rw-r--r-- | drivers/serial/8250_pci.c | 71 | ||||
-rw-r--r-- | drivers/serial/8250_pnp.c | 22 | ||||
-rw-r--r-- | drivers/serial/Kconfig | 7 | ||||
-rw-r--r-- | drivers/serial/Makefile | 1 | ||||
-rw-r--r-- | drivers/serial/bast_sio.c | 80 | ||||
-rw-r--r-- | drivers/serial/cpm_uart/cpm_uart_cpm1.c | 2 | ||||
-rw-r--r-- | drivers/serial/crisv10.c | 2 | ||||
-rw-r--r-- | drivers/serial/icom.c | 1 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm.h | 3 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_driver.c | 3 | ||||
-rw-r--r-- | drivers/serial/jsm/jsm_neo.c | 30 | ||||
-rw-r--r-- | drivers/serial/serial_cs.c | 10 |
13 files changed, 94 insertions, 140 deletions
diff --git a/drivers/serial/68328serial.c b/drivers/serial/68328serial.c index d27fb4c881d2..9097f2f7b12a 100644 --- a/drivers/serial/68328serial.c +++ b/drivers/serial/68328serial.c | |||
@@ -316,7 +316,7 @@ static _INLINE_ void receive_chars(struct m68k_serial *info, struct pt_regs *reg | |||
316 | /* show_net_buffers(); */ | 316 | /* show_net_buffers(); */ |
317 | return; | 317 | return; |
318 | } else if (ch == 0x12) { /* ^R */ | 318 | } else if (ch == 0x12) { /* ^R */ |
319 | machine_restart(NULL); | 319 | emergency_restart(); |
320 | return; | 320 | return; |
321 | #endif /* CONFIG_MAGIC_SYSRQ */ | 321 | #endif /* CONFIG_MAGIC_SYSRQ */ |
322 | } | 322 | } |
diff --git a/drivers/serial/8250_pci.c b/drivers/serial/8250_pci.c index de54bdc5398b..07f05e9d0955 100644 --- a/drivers/serial/8250_pci.c +++ b/drivers/serial/8250_pci.c | |||
@@ -389,6 +389,9 @@ static void __devexit sbs_exit(struct pci_dev *dev) | |||
389 | * - 10x cards have control registers in IO and/or memory space; | 389 | * - 10x cards have control registers in IO and/or memory space; |
390 | * - 20x cards have control registers in standard PCI configuration space. | 390 | * - 20x cards have control registers in standard PCI configuration space. |
391 | * | 391 | * |
392 | * There are also Quartet Serial cards which use Oxford Semiconductor | ||
393 | * 16954 quad UART PCI chip clocked by 18.432 MHz quartz. | ||
394 | * | ||
392 | * Note: some SIIG cards are probed by the parport_serial object. | 395 | * Note: some SIIG cards are probed by the parport_serial object. |
393 | */ | 396 | */ |
394 | 397 | ||
@@ -1026,6 +1029,10 @@ enum pci_board_num_t { | |||
1026 | pbn_b0_2_921600, | 1029 | pbn_b0_2_921600, |
1027 | pbn_b0_4_921600, | 1030 | pbn_b0_4_921600, |
1028 | 1031 | ||
1032 | pbn_b0_2_1130000, | ||
1033 | |||
1034 | pbn_b0_4_1152000, | ||
1035 | |||
1029 | pbn_b0_bt_1_115200, | 1036 | pbn_b0_bt_1_115200, |
1030 | pbn_b0_bt_2_115200, | 1037 | pbn_b0_bt_2_115200, |
1031 | pbn_b0_bt_8_115200, | 1038 | pbn_b0_bt_8_115200, |
@@ -1159,6 +1166,20 @@ static struct pci_board pci_boards[] __devinitdata = { | |||
1159 | .uart_offset = 8, | 1166 | .uart_offset = 8, |
1160 | }, | 1167 | }, |
1161 | 1168 | ||
1169 | [pbn_b0_2_1130000] = { | ||
1170 | .flags = FL_BASE0, | ||
1171 | .num_ports = 2, | ||
1172 | .base_baud = 1130000, | ||
1173 | .uart_offset = 8, | ||
1174 | }, | ||
1175 | |||
1176 | [pbn_b0_4_1152000] = { | ||
1177 | .flags = FL_BASE0, | ||
1178 | .num_ports = 4, | ||
1179 | .base_baud = 1152000, | ||
1180 | .uart_offset = 8, | ||
1181 | }, | ||
1182 | |||
1162 | [pbn_b0_bt_1_115200] = { | 1183 | [pbn_b0_bt_1_115200] = { |
1163 | .flags = FL_BASE0|FL_BASE_BARS, | 1184 | .flags = FL_BASE0|FL_BASE_BARS, |
1164 | .num_ports = 1, | 1185 | .num_ports = 1, |
@@ -1755,33 +1776,30 @@ pciserial_init_one(struct pci_dev *dev, const struct pci_device_id *ent) | |||
1755 | static void __devexit pciserial_remove_one(struct pci_dev *dev) | 1776 | static void __devexit pciserial_remove_one(struct pci_dev *dev) |
1756 | { | 1777 | { |
1757 | struct serial_private *priv = pci_get_drvdata(dev); | 1778 | struct serial_private *priv = pci_get_drvdata(dev); |
1779 | struct pci_serial_quirk *quirk; | ||
1780 | int i; | ||
1758 | 1781 | ||
1759 | pci_set_drvdata(dev, NULL); | 1782 | pci_set_drvdata(dev, NULL); |
1760 | 1783 | ||
1761 | if (priv) { | 1784 | for (i = 0; i < priv->nr; i++) |
1762 | struct pci_serial_quirk *quirk; | 1785 | serial8250_unregister_port(priv->line[i]); |
1763 | int i; | ||
1764 | |||
1765 | for (i = 0; i < priv->nr; i++) | ||
1766 | serial8250_unregister_port(priv->line[i]); | ||
1767 | 1786 | ||
1768 | for (i = 0; i < PCI_NUM_BAR_RESOURCES; i++) { | 1787 | for (i = 0; i < PCI_NUM_BAR_RESOURCES; i++) { |
1769 | if (priv->remapped_bar[i]) | 1788 | if (priv->remapped_bar[i]) |
1770 | iounmap(priv->remapped_bar[i]); | 1789 | iounmap(priv->remapped_bar[i]); |
1771 | priv->remapped_bar[i] = NULL; | 1790 | priv->remapped_bar[i] = NULL; |
1772 | } | 1791 | } |
1773 | 1792 | ||
1774 | /* | 1793 | /* |
1775 | * Find the exit quirks. | 1794 | * Find the exit quirks. |
1776 | */ | 1795 | */ |
1777 | quirk = find_quirk(dev); | 1796 | quirk = find_quirk(dev); |
1778 | if (quirk->exit) | 1797 | if (quirk->exit) |
1779 | quirk->exit(dev); | 1798 | quirk->exit(dev); |
1780 | 1799 | ||
1781 | pci_disable_device(dev); | 1800 | pci_disable_device(dev); |
1782 | 1801 | ||
1783 | kfree(priv); | 1802 | kfree(priv); |
1784 | } | ||
1785 | } | 1803 | } |
1786 | 1804 | ||
1787 | static int pciserial_suspend_one(struct pci_dev *dev, pm_message_t state) | 1805 | static int pciserial_suspend_one(struct pci_dev *dev, pm_message_t state) |
@@ -1978,6 +1996,19 @@ static struct pci_device_id serial_pci_tbl[] = { | |||
1978 | PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0, | 1996 | PCI_VENDOR_ID_SPECIALIX, PCI_SUBDEVICE_ID_SPECIALIX_SPEED4, 0, 0, |
1979 | pbn_b0_4_921600 }, | 1997 | pbn_b0_4_921600 }, |
1980 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, | 1998 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, |
1999 | PCI_SUBVENDOR_ID_SIIG, PCI_SUBDEVICE_ID_SIIG_QUARTET_SERIAL, 0, 0, | ||
2000 | pbn_b0_4_1152000 }, | ||
2001 | |||
2002 | /* | ||
2003 | * The below card is a little controversial since it is the | ||
2004 | * subject of a PCI vendor/device ID clash. (See | ||
2005 | * www.ussg.iu.edu/hypermail/linux/kernel/0303.1/0516.html). | ||
2006 | * For now just used the hex ID 0x950a. | ||
2007 | */ | ||
2008 | { PCI_VENDOR_ID_OXSEMI, 0x950a, | ||
2009 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | ||
2010 | pbn_b0_2_1130000 }, | ||
2011 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI954, | ||
1981 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, | 2012 | PCI_ANY_ID, PCI_ANY_ID, 0, 0, |
1982 | pbn_b0_4_115200 }, | 2013 | pbn_b0_4_115200 }, |
1983 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952, | 2014 | { PCI_VENDOR_ID_OXSEMI, PCI_DEVICE_ID_OXSEMI_16PCI952, |
diff --git a/drivers/serial/8250_pnp.c b/drivers/serial/8250_pnp.c index 18c58fb73899..6b321e82cafb 100644 --- a/drivers/serial/8250_pnp.c +++ b/drivers/serial/8250_pnp.c | |||
@@ -394,7 +394,7 @@ static int __devinit serial_pnp_guess_board(struct pnp_dev *dev, int *flags) | |||
394 | } | 394 | } |
395 | 395 | ||
396 | static int __devinit | 396 | static int __devinit |
397 | serial_pnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id) | 397 | serial_pnp_probe(struct pnp_dev *dev, const struct pnp_device_id *dev_id) |
398 | { | 398 | { |
399 | struct uart_port port; | 399 | struct uart_port port; |
400 | int ret, line, flags = dev_id->driver_data; | 400 | int ret, line, flags = dev_id->driver_data; |
@@ -406,15 +406,23 @@ serial_pnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id) | |||
406 | } | 406 | } |
407 | 407 | ||
408 | memset(&port, 0, sizeof(struct uart_port)); | 408 | memset(&port, 0, sizeof(struct uart_port)); |
409 | port.irq = pnp_irq(dev,0); | 409 | port.irq = pnp_irq(dev, 0); |
410 | port.iobase = pnp_port_start(dev, 0); | 410 | if (pnp_port_valid(dev, 0)) { |
411 | port.iobase = pnp_port_start(dev, 0); | ||
412 | port.iotype = UPIO_PORT; | ||
413 | } else if (pnp_mem_valid(dev, 0)) { | ||
414 | port.mapbase = pnp_mem_start(dev, 0); | ||
415 | port.iotype = UPIO_MEM; | ||
416 | port.flags = UPF_IOREMAP; | ||
417 | } else | ||
418 | return -ENODEV; | ||
411 | 419 | ||
412 | #ifdef SERIAL_DEBUG_PNP | 420 | #ifdef SERIAL_DEBUG_PNP |
413 | printk("Setup PNP port: port %x, irq %d, type %d\n", | 421 | printk("Setup PNP port: port %x, mem 0x%lx, irq %d, type %d\n", |
414 | port.iobase, port.irq, port.iotype); | 422 | port.iobase, port.mapbase, port.irq, port.iotype); |
415 | #endif | 423 | #endif |
416 | 424 | ||
417 | port.flags = UPF_SKIP_TEST | UPF_BOOT_AUTOCONF; | 425 | port.flags |= UPF_SKIP_TEST | UPF_BOOT_AUTOCONF; |
418 | port.uartclk = 1843200; | 426 | port.uartclk = 1843200; |
419 | port.dev = &dev->dev; | 427 | port.dev = &dev->dev; |
420 | 428 | ||
@@ -426,7 +434,7 @@ serial_pnp_probe(struct pnp_dev * dev, const struct pnp_device_id *dev_id) | |||
426 | 434 | ||
427 | } | 435 | } |
428 | 436 | ||
429 | static void __devexit serial_pnp_remove(struct pnp_dev * dev) | 437 | static void __devexit serial_pnp_remove(struct pnp_dev *dev) |
430 | { | 438 | { |
431 | long line = (long)pnp_get_drvdata(dev); | 439 | long line = (long)pnp_get_drvdata(dev); |
432 | if (line) | 440 | if (line) |
diff --git a/drivers/serial/Kconfig b/drivers/serial/Kconfig index e0d0a470ddfc..97034d3937fd 100644 --- a/drivers/serial/Kconfig +++ b/drivers/serial/Kconfig | |||
@@ -306,13 +306,6 @@ config SERIAL_S3C2410_CONSOLE | |||
306 | your boot loader about how to pass options to the kernel at | 306 | your boot loader about how to pass options to the kernel at |
307 | boot time.) | 307 | boot time.) |
308 | 308 | ||
309 | config SERIAL_BAST_SIO | ||
310 | bool "Support for BAST SuperIO serial ports" | ||
311 | depends on ARCH_BAST && SERIAL_8250=y | ||
312 | help | ||
313 | Support for registerin the SuperIO chip on BAST board with | ||
314 | the 8250/16550 uart code. | ||
315 | |||
316 | config SERIAL_DZ | 309 | config SERIAL_DZ |
317 | bool "DECstation DZ serial driver" | 310 | bool "DECstation DZ serial driver" |
318 | depends on MACH_DECSTATION && MIPS32 | 311 | depends on MACH_DECSTATION && MIPS32 |
diff --git a/drivers/serial/Makefile b/drivers/serial/Makefile index 65bd4381685e..11c7dc483f93 100644 --- a/drivers/serial/Makefile +++ b/drivers/serial/Makefile | |||
@@ -44,7 +44,6 @@ obj-$(CONFIG_SERIAL_LH7A40X) += serial_lh7a40x.o | |||
44 | obj-$(CONFIG_SERIAL_AU1X00) += au1x00_uart.o | 44 | obj-$(CONFIG_SERIAL_AU1X00) += au1x00_uart.o |
45 | obj-$(CONFIG_SERIAL_DZ) += dz.o | 45 | obj-$(CONFIG_SERIAL_DZ) += dz.o |
46 | obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o | 46 | obj-$(CONFIG_SERIAL_SH_SCI) += sh-sci.o |
47 | obj-$(CONFIG_SERIAL_BAST_SIO) += bast_sio.o | ||
48 | obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o | 47 | obj-$(CONFIG_SERIAL_SGI_L1_CONSOLE) += sn_console.o |
49 | obj-$(CONFIG_SERIAL_CPM) += cpm_uart/ | 48 | obj-$(CONFIG_SERIAL_CPM) += cpm_uart/ |
50 | obj-$(CONFIG_SERIAL_IMX) += imx.o | 49 | obj-$(CONFIG_SERIAL_IMX) += imx.o |
diff --git a/drivers/serial/bast_sio.c b/drivers/serial/bast_sio.c deleted file mode 100644 index 2b48fab6f0c6..000000000000 --- a/drivers/serial/bast_sio.c +++ /dev/null | |||
@@ -1,80 +0,0 @@ | |||
1 | /* linux/drivers/serial/bast_sio.c | ||
2 | * | ||
3 | * Copyright (c) 2004 Simtec Electronics | ||
4 | * Ben Dooks <ben@simtec.co.uk> | ||
5 | * | ||
6 | * http://www.simtec.co.uk/products/EB2410ITX/ | ||
7 | * | ||
8 | * This program is free software; you can redistribute it and/or modify | ||
9 | * it under the terms of the GNU General Public License version 2 as | ||
10 | * published by the Free Software Foundation. | ||
11 | * | ||
12 | * Modifications: | ||
13 | * 23-Sep-2004 BJD Added copyright header | ||
14 | * 23-Sep-2004 BJD Added serial port remove code | ||
15 | */ | ||
16 | |||
17 | #include <linux/module.h> | ||
18 | #include <linux/config.h> | ||
19 | #include <linux/kernel.h> | ||
20 | #include <linux/init.h> | ||
21 | #include <linux/tty.h> | ||
22 | #include <linux/serial.h> | ||
23 | #include <linux/serial_core.h> | ||
24 | #include <linux/types.h> | ||
25 | |||
26 | #include <asm/io.h> | ||
27 | #include <asm/serial.h> | ||
28 | #include <asm/mach-types.h> | ||
29 | |||
30 | #include <asm/arch/map.h> | ||
31 | #include <asm/arch/irqs.h> | ||
32 | #include <asm/arch/bast-map.h> | ||
33 | #include <asm/arch/bast-irq.h> | ||
34 | |||
35 | static int __init serial_bast_register(unsigned long port, unsigned int irq) | ||
36 | { | ||
37 | struct serial_struct serial_req; | ||
38 | |||
39 | serial_req.flags = UPF_AUTOPROBE | UPF_SHARE_IRQ; | ||
40 | serial_req.baud_base = BASE_BAUD; | ||
41 | serial_req.irq = irq; | ||
42 | serial_req.io_type = UPIO_MEM; | ||
43 | serial_req.iomap_base = port; | ||
44 | serial_req.iomem_base = ioremap(port, 0x10); | ||
45 | serial_req.iomem_reg_shift = 0; | ||
46 | |||
47 | return register_serial(&serial_req); | ||
48 | } | ||
49 | |||
50 | #define SERIAL_BASE (S3C2410_CS2 + BAST_PA_SUPERIO) | ||
51 | |||
52 | static int port[2] = { -1, -1 }; | ||
53 | |||
54 | static int __init serial_bast_init(void) | ||
55 | { | ||
56 | if (machine_is_bast()) { | ||
57 | port[0] = serial_bast_register(SERIAL_BASE + 0x2f8, IRQ_PCSERIAL1); | ||
58 | port[1] = serial_bast_register(SERIAL_BASE + 0x3f8, IRQ_PCSERIAL2); | ||
59 | } | ||
60 | |||
61 | return 0; | ||
62 | } | ||
63 | |||
64 | static void __exit serial_bast_exit(void) | ||
65 | { | ||
66 | if (port[0] != -1) | ||
67 | unregister_serial(port[0]); | ||
68 | if (port[1] != -1) | ||
69 | unregister_serial(port[1]); | ||
70 | } | ||
71 | |||
72 | |||
73 | module_init(serial_bast_init); | ||
74 | module_exit(serial_bast_exit); | ||
75 | |||
76 | MODULE_LICENSE("GPL"); | ||
77 | MODULE_AUTHOR("Ben Dooks, ben@simtec.co.uk"); | ||
78 | MODULE_DESCRIPTION("BAST Onboard Serial setup"); | ||
79 | |||
80 | |||
diff --git a/drivers/serial/cpm_uart/cpm_uart_cpm1.c b/drivers/serial/cpm_uart/cpm_uart_cpm1.c index 7911912f50c7..8efbd6d1d6a4 100644 --- a/drivers/serial/cpm_uart/cpm_uart_cpm1.c +++ b/drivers/serial/cpm_uart/cpm_uart_cpm1.c | |||
@@ -185,7 +185,7 @@ int cpm_uart_allocbuf(struct uart_cpm_port *pinfo, unsigned int is_con) | |||
185 | memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) + | 185 | memsz = L1_CACHE_ALIGN(pinfo->rx_nrfifos * pinfo->rx_fifosize) + |
186 | L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); | 186 | L1_CACHE_ALIGN(pinfo->tx_nrfifos * pinfo->tx_fifosize); |
187 | if (is_con) { | 187 | if (is_con) { |
188 | mem_addr = (u8 *) m8xx_cpm_hostalloc(memsz); | 188 | mem_addr = (u8 *) cpm_dpram_addr(cpm_dpalloc(memsz, 8)); |
189 | dma_addr = 0; | 189 | dma_addr = 0; |
190 | } else | 190 | } else |
191 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, | 191 | mem_addr = dma_alloc_coherent(NULL, memsz, &dma_addr, |
diff --git a/drivers/serial/crisv10.c b/drivers/serial/crisv10.c index 3da5494953af..23b8871e74cc 100644 --- a/drivers/serial/crisv10.c +++ b/drivers/serial/crisv10.c | |||
@@ -426,8 +426,6 @@ | |||
426 | static char *serial_version = "$Revision: 1.25 $"; | 426 | static char *serial_version = "$Revision: 1.25 $"; |
427 | 427 | ||
428 | #include <linux/config.h> | 428 | #include <linux/config.h> |
429 | #include <linux/version.h> | ||
430 | |||
431 | #include <linux/types.h> | 429 | #include <linux/types.h> |
432 | #include <linux/errno.h> | 430 | #include <linux/errno.h> |
433 | #include <linux/signal.h> | 431 | #include <linux/signal.h> |
diff --git a/drivers/serial/icom.c b/drivers/serial/icom.c index 546a0bc77e1e..c112b32764e8 100644 --- a/drivers/serial/icom.c +++ b/drivers/serial/icom.c | |||
@@ -25,7 +25,6 @@ | |||
25 | #define SERIAL_DO_RESTART | 25 | #define SERIAL_DO_RESTART |
26 | #include <linux/module.h> | 26 | #include <linux/module.h> |
27 | #include <linux/config.h> | 27 | #include <linux/config.h> |
28 | #include <linux/version.h> | ||
29 | #include <linux/kernel.h> | 28 | #include <linux/kernel.h> |
30 | #include <linux/errno.h> | 29 | #include <linux/errno.h> |
31 | #include <linux/signal.h> | 30 | #include <linux/signal.h> |
diff --git a/drivers/serial/jsm/jsm.h b/drivers/serial/jsm/jsm.h index 777829fa3300..18753193f59b 100644 --- a/drivers/serial/jsm/jsm.h +++ b/drivers/serial/jsm/jsm.h | |||
@@ -28,7 +28,6 @@ | |||
28 | #define __JSM_DRIVER_H | 28 | #define __JSM_DRIVER_H |
29 | 29 | ||
30 | #include <linux/kernel.h> | 30 | #include <linux/kernel.h> |
31 | #include <linux/version.h> | ||
32 | #include <linux/types.h> /* To pick up the varions Linux types */ | 31 | #include <linux/types.h> /* To pick up the varions Linux types */ |
33 | #include <linux/tty.h> | 32 | #include <linux/tty.h> |
34 | #include <linux/serial_core.h> | 33 | #include <linux/serial_core.h> |
@@ -90,7 +89,7 @@ enum { | |||
90 | #define WRITEBUFLEN ((4096) + 4) | 89 | #define WRITEBUFLEN ((4096) + 4) |
91 | #define MYFLIPLEN N_TTY_BUF_SIZE | 90 | #define MYFLIPLEN N_TTY_BUF_SIZE |
92 | 91 | ||
93 | #define JSM_VERSION "jsm: 1.1-1-INKERNEL" | 92 | #define JSM_VERSION "jsm: 1.2-1-INKERNEL" |
94 | #define JSM_PARTNUM "40002438_A-INKERNEL" | 93 | #define JSM_PARTNUM "40002438_A-INKERNEL" |
95 | 94 | ||
96 | struct jsm_board; | 95 | struct jsm_board; |
diff --git a/drivers/serial/jsm/jsm_driver.c b/drivers/serial/jsm/jsm_driver.c index cc5d21300ed3..7e56c7824194 100644 --- a/drivers/serial/jsm/jsm_driver.c +++ b/drivers/serial/jsm/jsm_driver.c | |||
@@ -22,6 +22,7 @@ | |||
22 | * Scott H Kilau <Scott_Kilau@digi.com> | 22 | * Scott H Kilau <Scott_Kilau@digi.com> |
23 | * Wendy Xiong <wendyx@us.ltcfwd.linux.ibm.com> | 23 | * Wendy Xiong <wendyx@us.ltcfwd.linux.ibm.com> |
24 | * | 24 | * |
25 | * | ||
25 | ***********************************************************************/ | 26 | ***********************************************************************/ |
26 | #include <linux/moduleparam.h> | 27 | #include <linux/moduleparam.h> |
27 | #include <linux/pci.h> | 28 | #include <linux/pci.h> |
@@ -42,7 +43,7 @@ struct uart_driver jsm_uart_driver = { | |||
42 | .owner = THIS_MODULE, | 43 | .owner = THIS_MODULE, |
43 | .driver_name = JSM_DRIVER_NAME, | 44 | .driver_name = JSM_DRIVER_NAME, |
44 | .dev_name = "ttyn", | 45 | .dev_name = "ttyn", |
45 | .major = 253, | 46 | .major = 0, |
46 | .minor = JSM_MINOR_START, | 47 | .minor = JSM_MINOR_START, |
47 | .nr = NR_PORTS, | 48 | .nr = NR_PORTS, |
48 | }; | 49 | }; |
diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c index 3a11a69feb44..6f22b42d9337 100644 --- a/drivers/serial/jsm/jsm_neo.c +++ b/drivers/serial/jsm/jsm_neo.c | |||
@@ -48,8 +48,9 @@ static inline void neo_pci_posting_flush(struct jsm_board *bd) | |||
48 | 48 | ||
49 | static void neo_set_cts_flow_control(struct jsm_channel *ch) | 49 | static void neo_set_cts_flow_control(struct jsm_channel *ch) |
50 | { | 50 | { |
51 | u8 ier = readb(&ch->ch_neo_uart->ier); | 51 | u8 ier, efr; |
52 | u8 efr = readb(&ch->ch_neo_uart->efr); | 52 | ier = readb(&ch->ch_neo_uart->ier); |
53 | efr = readb(&ch->ch_neo_uart->efr); | ||
53 | 54 | ||
54 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting CTSFLOW\n"); | 55 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting CTSFLOW\n"); |
55 | 56 | ||
@@ -78,8 +79,9 @@ static void neo_set_cts_flow_control(struct jsm_channel *ch) | |||
78 | 79 | ||
79 | static void neo_set_rts_flow_control(struct jsm_channel *ch) | 80 | static void neo_set_rts_flow_control(struct jsm_channel *ch) |
80 | { | 81 | { |
81 | u8 ier = readb(&ch->ch_neo_uart->ier); | 82 | u8 ier, efr; |
82 | u8 efr = readb(&ch->ch_neo_uart->efr); | 83 | ier = readb(&ch->ch_neo_uart->ier); |
84 | efr = readb(&ch->ch_neo_uart->efr); | ||
83 | 85 | ||
84 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting RTSFLOW\n"); | 86 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting RTSFLOW\n"); |
85 | 87 | ||
@@ -117,8 +119,9 @@ static void neo_set_rts_flow_control(struct jsm_channel *ch) | |||
117 | 119 | ||
118 | static void neo_set_ixon_flow_control(struct jsm_channel *ch) | 120 | static void neo_set_ixon_flow_control(struct jsm_channel *ch) |
119 | { | 121 | { |
120 | u8 ier = readb(&ch->ch_neo_uart->ier); | 122 | u8 ier, efr; |
121 | u8 efr = readb(&ch->ch_neo_uart->efr); | 123 | ier = readb(&ch->ch_neo_uart->ier); |
124 | efr = readb(&ch->ch_neo_uart->efr); | ||
122 | 125 | ||
123 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting IXON FLOW\n"); | 126 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting IXON FLOW\n"); |
124 | 127 | ||
@@ -153,8 +156,9 @@ static void neo_set_ixon_flow_control(struct jsm_channel *ch) | |||
153 | 156 | ||
154 | static void neo_set_ixoff_flow_control(struct jsm_channel *ch) | 157 | static void neo_set_ixoff_flow_control(struct jsm_channel *ch) |
155 | { | 158 | { |
156 | u8 ier = readb(&ch->ch_neo_uart->ier); | 159 | u8 ier, efr; |
157 | u8 efr = readb(&ch->ch_neo_uart->efr); | 160 | ier = readb(&ch->ch_neo_uart->ier); |
161 | efr = readb(&ch->ch_neo_uart->efr); | ||
158 | 162 | ||
159 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting IXOFF FLOW\n"); | 163 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Setting IXOFF FLOW\n"); |
160 | 164 | ||
@@ -190,8 +194,9 @@ static void neo_set_ixoff_flow_control(struct jsm_channel *ch) | |||
190 | 194 | ||
191 | static void neo_set_no_input_flow_control(struct jsm_channel *ch) | 195 | static void neo_set_no_input_flow_control(struct jsm_channel *ch) |
192 | { | 196 | { |
193 | u8 ier = readb(&ch->ch_neo_uart->ier); | 197 | u8 ier, efr; |
194 | u8 efr = readb(&ch->ch_neo_uart->efr); | 198 | ier = readb(&ch->ch_neo_uart->ier); |
199 | efr = readb(&ch->ch_neo_uart->efr); | ||
195 | 200 | ||
196 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Unsetting Input FLOW\n"); | 201 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Unsetting Input FLOW\n"); |
197 | 202 | ||
@@ -228,8 +233,9 @@ static void neo_set_no_input_flow_control(struct jsm_channel *ch) | |||
228 | 233 | ||
229 | static void neo_set_no_output_flow_control(struct jsm_channel *ch) | 234 | static void neo_set_no_output_flow_control(struct jsm_channel *ch) |
230 | { | 235 | { |
231 | u8 ier = readb(&ch->ch_neo_uart->ier); | 236 | u8 ier, efr; |
232 | u8 efr = readb(&ch->ch_neo_uart->efr); | 237 | ier = readb(&ch->ch_neo_uart->ier); |
238 | efr = readb(&ch->ch_neo_uart->efr); | ||
233 | 239 | ||
234 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Unsetting Output FLOW\n"); | 240 | jsm_printk(PARAM, INFO, &ch->ch_bd->pci_dev, "Unsetting Output FLOW\n"); |
235 | 241 | ||
diff --git a/drivers/serial/serial_cs.c b/drivers/serial/serial_cs.c index de0136cc5938..1ae0b381c162 100644 --- a/drivers/serial/serial_cs.c +++ b/drivers/serial/serial_cs.c | |||
@@ -790,19 +790,19 @@ static struct pcmcia_device_id serial_ids[] = { | |||
790 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "CEM56", 0x2e3ee845, 0xa650c32a), | 790 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "CEM56", 0x2e3ee845, 0xa650c32a), |
791 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "REM10", 0x2e3ee845, 0x76df1d29), | 791 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "REM10", 0x2e3ee845, 0x76df1d29), |
792 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "XEM5600", 0x2e3ee845, 0xf1403719), | 792 | PCMCIA_PFC_DEVICE_PROD_ID13(1, "Xircom", "XEM5600", 0x2e3ee845, 0xf1403719), |
793 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "AnyCom", "Fast Ethernet ", 0x578ba6e7, 0x02d92d1e), | 793 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "AnyCom", "Fast Ethernet + 56K COMBO", 0x578ba6e7, 0xb0ac62c4), |
794 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "D-Link", "DME336T", 0x1a424a1c, 0xb23897ff), | 794 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "D-Link", "DME336T", 0x1a424a1c, 0xb23897ff), |
795 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Gateway 2000", "XJEM3336", 0xdd9989be, 0x662c394c), | 795 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Gateway 2000", "XJEM3336", 0xdd9989be, 0x662c394c), |
796 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Grey Cell", "GCS3000", 0x2a151fac, 0x48b932ae), | 796 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Grey Cell", "GCS3000", 0x2a151fac, 0x48b932ae), |
797 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Linksys", "EtherFast 10&100 + 56K PC Card (PCMLM56)", 0x0733cc81, 0xb3765033), | 797 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Linksys", "EtherFast 10&100 + 56K PC Card (PCMLM56)", 0x0733cc81, 0xb3765033), |
798 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "LINKSYS", "PCMLM336", 0xf7cb0b07, 0x7a821b58), | 798 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "LINKSYS", "PCMLM336", 0xf7cb0b07, 0x7a821b58), |
799 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "MEGAHERTZ", "XJEM1144/CCEM1144", 0xf510db04, 0x52d21e1e), | 799 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "MEGAHERTZ", "XJEM1144/CCEM1144", 0xf510db04, 0x52d21e1e), |
800 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard", 0x0c2f80cd, 0x0573c29f), | 800 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Diamonds Modem+Ethernet", 0xc2f80cd, 0x656947b9), |
801 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard", 0x0c2f80cd, 0x0573c29f), | 801 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Ositech", "Trumpcard:Jack of Hearts Modem+Ethernet", 0xc2f80cd, 0xdc9ba5ed), |
802 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "ComboCard", 0xdcfe12d3, 0xcd8906cc), | 802 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "ComboCard", 0xdcfe12d3, 0xcd8906cc), |
803 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "LanModem", 0xdcfe12d3, 0xc67c648f), | 803 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "PCMCIAs", "LanModem", 0xdcfe12d3, 0xc67c648f), |
804 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "TDK", "GlobalNetworker 3410/3412", 0x1eae9475, 0xd9a93bed), | 804 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "TDK", "GlobalNetworker 3410/3412", 0x1eae9475, 0xd9a93bed), |
805 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet", 0x2e3ee845, 0xc0e778c2), | 805 | PCMCIA_PFC_DEVICE_PROD_ID12(1, "Xircom", "CreditCard Ethernet+Modem II", 0x2e3ee845, 0xeca401bf), |
806 | PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070), | 806 | PCMCIA_MFC_DEVICE_MANF_CARD(0, 0x0104, 0x0070), |
807 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0101, 0x0562), | 807 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0101, 0x0562), |
808 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0104, 0x0070), | 808 | PCMCIA_MFC_DEVICE_MANF_CARD(1, 0x0104, 0x0070), |
@@ -840,7 +840,7 @@ static struct pcmcia_device_id serial_ids[] = { | |||
840 | PCMCIA_DEVICE_PROD_ID12("Computerboards, Inc.", "PCM-COM422", 0xd0b78f51, 0x7e2d49ed), | 840 | PCMCIA_DEVICE_PROD_ID12("Computerboards, Inc.", "PCM-COM422", 0xd0b78f51, 0x7e2d49ed), |
841 | PCMCIA_DEVICE_PROD_ID12("Dr. Neuhaus", "FURY CARD 14K4", 0x76942813, 0x8b96ce65), | 841 | PCMCIA_DEVICE_PROD_ID12("Dr. Neuhaus", "FURY CARD 14K4", 0x76942813, 0x8b96ce65), |
842 | PCMCIA_DEVICE_PROD_ID12("Intelligent", "ANGIA FAX/MODEM", 0xb496e65e, 0xf31602a6), | 842 | PCMCIA_DEVICE_PROD_ID12("Intelligent", "ANGIA FAX/MODEM", 0xb496e65e, 0xf31602a6), |
843 | PCMCIA_DEVICE_PROD_ID12("Intel", "MODEM 2400", 0x816cc815, 0x23539b80), | 843 | PCMCIA_DEVICE_PROD_ID12("Intel", "MODEM 2400+", 0x816cc815, 0x412729fb), |
844 | PCMCIA_DEVICE_PROD_ID12("IOTech Inc ", "PCMCIA Dual RS-232 Serial Port Card", 0x3bd2d898, 0x92abc92f), | 844 | PCMCIA_DEVICE_PROD_ID12("IOTech Inc ", "PCMCIA Dual RS-232 Serial Port Card", 0x3bd2d898, 0x92abc92f), |
845 | PCMCIA_DEVICE_PROD_ID12("MACRONIX", "FAX/MODEM", 0x668388b3, 0x3f9bdf2f), | 845 | PCMCIA_DEVICE_PROD_ID12("MACRONIX", "FAX/MODEM", 0x668388b3, 0x3f9bdf2f), |
846 | PCMCIA_DEVICE_PROD_ID12("Multi-Tech", "MT1432LT", 0x5f73be51, 0x0b3e2383), | 846 | PCMCIA_DEVICE_PROD_ID12("Multi-Tech", "MT1432LT", 0x5f73be51, 0x0b3e2383), |