[PATCH] set the number of serial ports

From: Jun Sun (jsun@mvista.com)
Date: Wed Aug 22 2001 - 18:03:34 EST


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

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 */
 };

-
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/



This archive was generated by hypermail 2b29 : Thu Aug 23 2001 - 21:00:52 EST