[PATCH] set the number of serial ports

Jun Sun (jsun@mvista.com)
Wed, 22 Aug 2001 16:03:34 -0700


This is a multi-part message in MIME format.
--------------6CB43A7A0B4E1479BE594809
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Who is maintaining serial.c file? I sent this email to Ted Tso a while back
and did not get any replies. Here is another try.

Jun
--------------6CB43A7A0B4E1479BE594809
Content-Type: text/plain; charset=us-ascii;
name="num_serial_ports.2.4.0108xx.010822.patch"
Content-Transfer-Encoding: 7bit
Content-Disposition: inline;
filename="num_serial_ports.2.4.0108xx.010822.patch"

This attempts to solve two problmes:

1. reserves rs_table size even without any SERIAL_PORT_DFNS. This
is necessary for machines that must detect serial ports at run-time.
It is also a better way to use early_serial_setup() to set up serial
ports, especially serial.h is *really* getting crowded for RISC arches.

2. When CONFIG_SERIAL_MANY_PORTS is defined, we will 64 rs_table entries
(under MIPS and other arches). We can save up to 11K with some
more reasonable CONFIG_NUM_SERIAL_PORTS value.

Jun
08/22/2001

diff -Nru linux/drivers/char/Config.in.orig linux/drivers/char/Config.in
--- linux/drivers/char/Config.in.orig Tue Jun 12 17:29:21 2001
+++ linux/drivers/char/Config.in Wed Aug 22 15:28:54 2001
@@ -11,6 +11,7 @@
tristate 'Standard/generic (8250/16550 and compatible UARTs) serial support' CONFIG_SERIAL
if [ "$CONFIG_SERIAL" = "y" ]; then
bool ' Support for console on serial port' CONFIG_SERIAL_CONSOLE
+ int ' Number of serial ports (0 for system default)' CONFIG_SERIAL_NUM_PORTS 0
if [ "$CONFIG_ARCH_ACORN" = "y" ]; then
tristate ' Atomwide serial port support' CONFIG_ATOMWIDE_SERIAL
tristate ' Dual serial port support' CONFIG_DUALSP_SERIAL
diff -Nru linux/drivers/char/serial.c.orig linux/drivers/char/serial.c
--- linux/drivers/char/serial.c.orig Tue Jun 26 17:23:10 2001
+++ linux/drivers/char/serial.c Wed Aug 22 15:48:46 2001
@@ -321,6 +321,14 @@
MODULE_PARM_DESC(force_rsa, "Force I/O ports for RSA");
#endif /* CONFIG_SERIAL_RSA */

+/*
+ * [jsun] We horner the CONFIG_SERIAL_NUM_PORTS variable
+ */
+#if (CONFIG_SERIAL_NUM_PORTS != 0)
+#undef RS_TABLE_SIZE
+#define RS_TABLE_SIZE CONFIG_SERIAL_NUM_PORTS
+#endif
+
static struct serial_state rs_table[RS_TABLE_SIZE] = {
SERIAL_PORT_DFNS /* Defined in serial.h */
};

--------------6CB43A7A0B4E1479BE594809--

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/