diff options
author | Paul Gortmaker <paul.gortmaker@windriver.com> | 2012-05-16 20:27:32 -0400 |
---|---|---|
committer | Paul Gortmaker <paul.gortmaker@windriver.com> | 2012-05-17 19:02:14 -0400 |
commit | d157be852f6c76dc467f3a03b89263880e14c513 (patch) | |
tree | 4ecbc719f62e8f7bb7344efde3ca4febc20ca407 | |
parent | 281f4d9ce7326b48e4d770ef689b97edb69e97da (diff) |
serial: delete the MCA specific 8250 support.
The support for CONFIG_MCA is being removed, since the 20
year old hardware simply isn't capable of meeting today's
software demands on CPU and memory resources.
This commit removes the MCA specific 8250 UART code.
Cc: Alan Cox <alan@linux.intel.com>
Cc: linux-serial@vger.kernel.org
Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Signed-off-by: Paul Gortmaker <paul.gortmaker@windriver.com>
-rw-r--r-- | Documentation/serial/stallion.txt | 22 | ||||
-rw-r--r-- | drivers/tty/serial/8250/8250_mca.c | 61 | ||||
-rw-r--r-- | drivers/tty/serial/8250/Kconfig | 9 | ||||
-rw-r--r-- | drivers/tty/serial/8250/Makefile | 1 | ||||
-rw-r--r-- | include/linux/serial.h | 2 | ||||
-rw-r--r-- | include/linux/serial_8250.h | 1 |
6 files changed, 11 insertions, 85 deletions
diff --git a/Documentation/serial/stallion.txt b/Documentation/serial/stallion.txt index 55090914a9c5..4d798c0cb5cb 100644 --- a/Documentation/serial/stallion.txt +++ b/Documentation/serial/stallion.txt | |||
@@ -20,10 +20,10 @@ There are two drivers that work with the different families of Stallion | |||
20 | multiport serial boards. One is for the Stallion smart boards - that is | 20 | multiport serial boards. One is for the Stallion smart boards - that is |
21 | EasyIO, EasyConnection 8/32 and EasyConnection 8/64-PCI, the other for | 21 | EasyIO, EasyConnection 8/32 and EasyConnection 8/64-PCI, the other for |
22 | the true Stallion intelligent multiport boards - EasyConnection 8/64 | 22 | the true Stallion intelligent multiport boards - EasyConnection 8/64 |
23 | (ISA, EISA, MCA), EasyConnection/RA-PCI, ONboard and Brumby. | 23 | (ISA, EISA), EasyConnection/RA-PCI, ONboard and Brumby. |
24 | 24 | ||
25 | If you are using any of the Stallion intelligent multiport boards (Brumby, | 25 | If you are using any of the Stallion intelligent multiport boards (Brumby, |
26 | ONboard, EasyConnection 8/64 (ISA, EISA, MCA), EasyConnection/RA-PCI) with | 26 | ONboard, EasyConnection 8/64 (ISA, EISA), EasyConnection/RA-PCI) with |
27 | Linux you will need to get the driver utility package. This contains a | 27 | Linux you will need to get the driver utility package. This contains a |
28 | firmware loader and the firmware images necessary to make the devices operate. | 28 | firmware loader and the firmware images necessary to make the devices operate. |
29 | 29 | ||
@@ -40,7 +40,7 @@ If you are using the EasyIO, EasyConnection 8/32 or EasyConnection 8/64-PCI | |||
40 | boards then you don't need this package, although it does have a serial stats | 40 | boards then you don't need this package, although it does have a serial stats |
41 | display program. | 41 | display program. |
42 | 42 | ||
43 | If you require DIP switch settings, EISA or MCA configuration files, or any | 43 | If you require DIP switch settings, or EISA configuration files, or any |
44 | other information related to Stallion boards then have a look at Stallion's | 44 | other information related to Stallion boards then have a look at Stallion's |
45 | web pages at http://www.stallion.com. | 45 | web pages at http://www.stallion.com. |
46 | 46 | ||
@@ -51,13 +51,13 @@ web pages at http://www.stallion.com. | |||
51 | The drivers can be used as loadable modules or compiled into the kernel. | 51 | The drivers can be used as loadable modules or compiled into the kernel. |
52 | You can choose which when doing a "config" on the kernel. | 52 | You can choose which when doing a "config" on the kernel. |
53 | 53 | ||
54 | All ISA, EISA and MCA boards that you want to use need to be configured into | 54 | All ISA, and EISA boards that you want to use need to be configured into |
55 | the driver(s). All PCI boards will be automatically detected when you load | 55 | the driver(s). All PCI boards will be automatically detected when you load |
56 | the driver - so they do not need to be entered into the driver(s) | 56 | the driver - so they do not need to be entered into the driver(s) |
57 | configuration structure. Note that kernel PCI support is required to use PCI | 57 | configuration structure. Note that kernel PCI support is required to use PCI |
58 | boards. | 58 | boards. |
59 | 59 | ||
60 | There are two methods of configuring ISA, EISA and MCA boards into the drivers. | 60 | There are two methods of configuring ISA and EISA boards into the drivers. |
61 | If using the driver as a loadable module then the simplest method is to pass | 61 | If using the driver as a loadable module then the simplest method is to pass |
62 | the driver configuration as module arguments. The other method is to modify | 62 | the driver configuration as module arguments. The other method is to modify |
63 | the driver source to add configuration lines for each board in use. | 63 | the driver source to add configuration lines for each board in use. |
@@ -71,12 +71,12 @@ That makes things pretty simple to get going. | |||
71 | 2.1 MODULE DRIVER CONFIGURATION: | 71 | 2.1 MODULE DRIVER CONFIGURATION: |
72 | 72 | ||
73 | The simplest configuration for modules is to use the module load arguments | 73 | The simplest configuration for modules is to use the module load arguments |
74 | to configure any ISA, EISA or MCA boards. PCI boards are automatically | 74 | to configure any ISA or EISA boards. PCI boards are automatically |
75 | detected, so do not need any additional configuration at all. | 75 | detected, so do not need any additional configuration at all. |
76 | 76 | ||
77 | If using EasyIO, EasyConnection 8/32 ISA or MCA, or EasyConnection 8/63-PCI | 77 | If using EasyIO, EasyConnection 8/32 ISA, or EasyConnection 8/63-PCI |
78 | boards then use the "stallion" driver module, Otherwise if you are using | 78 | boards then use the "stallion" driver module, Otherwise if you are using |
79 | an EasyConnection 8/64 ISA, EISA or MCA, EasyConnection/RA-PCI, ONboard, | 79 | an EasyConnection 8/64 ISA or EISA, EasyConnection/RA-PCI, ONboard, |
80 | Brumby or original Stallion board then use the "istallion" driver module. | 80 | Brumby or original Stallion board then use the "istallion" driver module. |
81 | 81 | ||
82 | Typically to load up the smart board driver use: | 82 | Typically to load up the smart board driver use: |
@@ -146,7 +146,7 @@ on each system boot. Typically configuration files are put in the | |||
146 | 2.2 STATIC DRIVER CONFIGURATION: | 146 | 2.2 STATIC DRIVER CONFIGURATION: |
147 | 147 | ||
148 | For static driver configuration you need to modify the driver source code. | 148 | For static driver configuration you need to modify the driver source code. |
149 | Entering ISA, EISA and MCA boards into the driver(s) configuration structure | 149 | Entering ISA and EISA boards into the driver(s) configuration structure |
150 | involves editing the driver(s) source file. It's pretty easy if you follow | 150 | involves editing the driver(s) source file. It's pretty easy if you follow |
151 | the instructions below. Both drivers can support up to 4 boards. The smart | 151 | the instructions below. Both drivers can support up to 4 boards. The smart |
152 | card driver (the stallion.c driver) supports any combination of EasyIO and | 152 | card driver (the stallion.c driver) supports any combination of EasyIO and |
@@ -157,7 +157,7 @@ supports any combination of ONboards, Brumbys, Stallions and EasyConnection | |||
157 | To set up the driver(s) for the boards that you want to use you need to | 157 | To set up the driver(s) for the boards that you want to use you need to |
158 | edit the appropriate driver file and add configuration entries. | 158 | edit the appropriate driver file and add configuration entries. |
159 | 159 | ||
160 | If using EasyIO or EasyConnection 8/32 ISA or MCA boards, | 160 | If using EasyIO or EasyConnection 8/32 ISA boards, |
161 | In drivers/char/stallion.c: | 161 | In drivers/char/stallion.c: |
162 | - find the definition of the stl_brdconf array (of structures) | 162 | - find the definition of the stl_brdconf array (of structures) |
163 | near the top of the file | 163 | near the top of the file |
@@ -243,7 +243,7 @@ change it on the board. | |||
243 | On EasyIO and EasyConnection 8/32 boards the IRQ is software programmable, so | 243 | On EasyIO and EasyConnection 8/32 boards the IRQ is software programmable, so |
244 | if there is a conflict you may need to change the IRQ used for a board. There | 244 | if there is a conflict you may need to change the IRQ used for a board. There |
245 | are no interrupts to worry about for ONboard, Brumby or EasyConnection 8/64 | 245 | are no interrupts to worry about for ONboard, Brumby or EasyConnection 8/64 |
246 | (ISA, EISA and MCA) boards. The memory region on EasyConnection 8/64 and | 246 | (ISA and EISA) boards. The memory region on EasyConnection 8/64 and |
247 | ONboard boards is software programmable, but not on the Brumby boards. | 247 | ONboard boards is software programmable, but not on the Brumby boards. |
248 | 248 | ||
249 | 249 | ||
diff --git a/drivers/tty/serial/8250/8250_mca.c b/drivers/tty/serial/8250/8250_mca.c deleted file mode 100644 index d20abf04541e..000000000000 --- a/drivers/tty/serial/8250/8250_mca.c +++ /dev/null | |||
@@ -1,61 +0,0 @@ | |||
1 | /* | ||
2 | * Copyright (C) 2005 Russell King. | ||
3 | * Data taken from include/asm-i386/serial.h | ||
4 | * | ||
5 | * This program is free software; you can redistribute it and/or modify | ||
6 | * it under the terms of the GNU General Public License version 2 as | ||
7 | * published by the Free Software Foundation. | ||
8 | */ | ||
9 | #include <linux/module.h> | ||
10 | #include <linux/init.h> | ||
11 | #include <linux/mca.h> | ||
12 | #include <linux/serial_8250.h> | ||
13 | |||
14 | /* | ||
15 | * FIXME: Should we be doing AUTO_IRQ here? | ||
16 | */ | ||
17 | #ifdef CONFIG_SERIAL_8250_DETECT_IRQ | ||
18 | #define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | UPF_AUTO_IRQ | ||
19 | #else | ||
20 | #define MCA_FLAGS UPF_BOOT_AUTOCONF | UPF_SKIP_TEST | ||
21 | #endif | ||
22 | |||
23 | #define PORT(_base,_irq) \ | ||
24 | { \ | ||
25 | .iobase = _base, \ | ||
26 | .irq = _irq, \ | ||
27 | .uartclk = 1843200, \ | ||
28 | .iotype = UPIO_PORT, \ | ||
29 | .flags = MCA_FLAGS, \ | ||
30 | } | ||
31 | |||
32 | static struct plat_serial8250_port mca_data[] = { | ||
33 | PORT(0x3220, 3), | ||
34 | PORT(0x3228, 3), | ||
35 | PORT(0x4220, 3), | ||
36 | PORT(0x4228, 3), | ||
37 | PORT(0x5220, 3), | ||
38 | PORT(0x5228, 3), | ||
39 | { }, | ||
40 | }; | ||
41 | |||
42 | static struct platform_device mca_device = { | ||
43 | .name = "serial8250", | ||
44 | .id = PLAT8250_DEV_MCA, | ||
45 | .dev = { | ||
46 | .platform_data = mca_data, | ||
47 | }, | ||
48 | }; | ||
49 | |||
50 | static int __init mca_init(void) | ||
51 | { | ||
52 | if (!MCA_bus) | ||
53 | return -ENODEV; | ||
54 | return platform_device_register(&mca_device); | ||
55 | } | ||
56 | |||
57 | module_init(mca_init); | ||
58 | |||
59 | MODULE_AUTHOR("Russell King"); | ||
60 | MODULE_DESCRIPTION("8250 serial probe module for MCA ports"); | ||
61 | MODULE_LICENSE("GPL"); | ||
diff --git a/drivers/tty/serial/8250/Kconfig b/drivers/tty/serial/8250/Kconfig index 591f8018e7dd..175c2041847f 100644 --- a/drivers/tty/serial/8250/Kconfig +++ b/drivers/tty/serial/8250/Kconfig | |||
@@ -241,15 +241,6 @@ config SERIAL_8250_RSA | |||
241 | help | 241 | help |
242 | ::: To be written ::: | 242 | ::: To be written ::: |
243 | 243 | ||
244 | config SERIAL_8250_MCA | ||
245 | tristate "Support 8250-type ports on MCA buses" | ||
246 | depends on SERIAL_8250 != n && MCA | ||
247 | help | ||
248 | Say Y here if you have a MCA serial ports. | ||
249 | |||
250 | To compile this driver as a module, choose M here: the module | ||
251 | will be called 8250_mca. | ||
252 | |||
253 | config SERIAL_8250_ACORN | 244 | config SERIAL_8250_ACORN |
254 | tristate "Acorn expansion card serial port support" | 245 | tristate "Acorn expansion card serial port support" |
255 | depends on ARCH_ACORN && SERIAL_8250 | 246 | depends on ARCH_ACORN && SERIAL_8250 |
diff --git a/drivers/tty/serial/8250/Makefile b/drivers/tty/serial/8250/Makefile index 867bba738908..464320f52dab 100644 --- a/drivers/tty/serial/8250/Makefile +++ b/drivers/tty/serial/8250/Makefile | |||
@@ -15,6 +15,5 @@ obj-$(CONFIG_SERIAL_8250_ACCENT) += 8250_accent.o | |||
15 | obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o | 15 | obj-$(CONFIG_SERIAL_8250_BOCA) += 8250_boca.o |
16 | obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o | 16 | obj-$(CONFIG_SERIAL_8250_EXAR_ST16C554) += 8250_exar_st16c554.o |
17 | obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o | 17 | obj-$(CONFIG_SERIAL_8250_HUB6) += 8250_hub6.o |
18 | obj-$(CONFIG_SERIAL_8250_MCA) += 8250_mca.o | ||
19 | obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o | 18 | obj-$(CONFIG_SERIAL_8250_FSL) += 8250_fsl.o |
20 | obj-$(CONFIG_SERIAL_8250_DW) += 8250_dw.o | 19 | obj-$(CONFIG_SERIAL_8250_DW) += 8250_dw.o |
diff --git a/include/linux/serial.h b/include/linux/serial.h index 441980ecc4e5..90e9f981358a 100644 --- a/include/linux/serial.h +++ b/include/linux/serial.h | |||
@@ -130,7 +130,6 @@ struct serial_uart_config { | |||
130 | #define ASYNCB_CHECK_CD 25 /* i.e., CLOCAL */ | 130 | #define ASYNCB_CHECK_CD 25 /* i.e., CLOCAL */ |
131 | #define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ | 131 | #define ASYNCB_SHARE_IRQ 24 /* for multifunction cards, no longer used */ |
132 | #define ASYNCB_CONS_FLOW 23 /* flow control for console */ | 132 | #define ASYNCB_CONS_FLOW 23 /* flow control for console */ |
133 | #define ASYNCB_BOOT_ONLYMCA 22 /* Probe only if MCA bus */ | ||
134 | #define ASYNCB_FIRST_KERNEL 22 | 133 | #define ASYNCB_FIRST_KERNEL 22 |
135 | 134 | ||
136 | #define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) | 135 | #define ASYNC_HUP_NOTIFY (1U << ASYNCB_HUP_NOTIFY) |
@@ -166,7 +165,6 @@ struct serial_uart_config { | |||
166 | #define ASYNC_CHECK_CD (1U << ASYNCB_CHECK_CD) | 165 | #define ASYNC_CHECK_CD (1U << ASYNCB_CHECK_CD) |
167 | #define ASYNC_SHARE_IRQ (1U << ASYNCB_SHARE_IRQ) | 166 | #define ASYNC_SHARE_IRQ (1U << ASYNCB_SHARE_IRQ) |
168 | #define ASYNC_CONS_FLOW (1U << ASYNCB_CONS_FLOW) | 167 | #define ASYNC_CONS_FLOW (1U << ASYNCB_CONS_FLOW) |
169 | #define ASYNC_BOOT_ONLYMCA (1U << ASYNCB_BOOT_ONLYMCA) | ||
170 | #define ASYNC_INTERNAL_FLAGS (~((1U << ASYNCB_FIRST_KERNEL) - 1)) | 168 | #define ASYNC_INTERNAL_FLAGS (~((1U << ASYNCB_FIRST_KERNEL) - 1)) |
171 | 169 | ||
172 | /* | 170 | /* |
diff --git a/include/linux/serial_8250.h b/include/linux/serial_8250.h index 8f012f8ac8e9..6c5047dbfea3 100644 --- a/include/linux/serial_8250.h +++ b/include/linux/serial_8250.h | |||
@@ -54,7 +54,6 @@ enum { | |||
54 | PLAT8250_DEV_BOCA, | 54 | PLAT8250_DEV_BOCA, |
55 | PLAT8250_DEV_EXAR_ST16C554, | 55 | PLAT8250_DEV_EXAR_ST16C554, |
56 | PLAT8250_DEV_HUB6, | 56 | PLAT8250_DEV_HUB6, |
57 | PLAT8250_DEV_MCA, | ||
58 | PLAT8250_DEV_AU1X00, | 57 | PLAT8250_DEV_AU1X00, |
59 | PLAT8250_DEV_SM501, | 58 | PLAT8250_DEV_SM501, |
60 | }; | 59 | }; |