Home
Reading
Searching
Subscribe
Sponsors
Statistics
Posting
Contact
Spam
Lists
Links
About
Hosting
Filtering
Features Download
Marketing
Archives
FAQ
Blog
 
Gmane
From: Alan Cox <alan <at> lxorguk.ukuu.org.uk>
Subject: [PATCH] tty: preparatory structures for termios revamp
Newsgroups: gmane.linux.serial
Date: Wednesday 18th October 2006 17:39:34 UTC (over 11 years ago)
In order to sort out our struct termios and add proper speed control we
need to separate the kernel and user termios structures. Glibc is fine
but the other libraries rely on the kernel exported struct termios and
we need to extend this without breaking the ABI/API

To do so we add a struct ktermios which is the kernel view of a termios
structure and overlaps the struct termios with extra fields on the end
for now. (That limitation will go away in later patches). Some platforms
(eg alpha) planned ahead and thus use the same struct for both, others
did not.


This just adds the structures but does not use them, it seems a sensible
splitting point for bisect if there are compile failures (not that I
expect them)

Signed-off-by: Alan Cox 

diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-alpha/termbits.h
linux-2.6.19-rc2-mm1/include/asm-alpha/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-alpha/termbits.h	2006-10-13
15:07:03.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-alpha/termbits.h	2006-10-18
14:27:43.000000000 +0100
@@ -25,6 +25,19 @@
 	speed_t c_ospeed;		/* output speed */
 };
 
+/* Alpha has matching termios and ktermios */
+
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_cc[NCCS];		/* control characters */
+	cc_t c_line;			/* line discipline (== c_cc[19]) */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VEOF 0
 #define VEOL 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-arm/termbits.h
linux-2.6.19-rc2-mm1/include/asm-arm/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-arm/termbits.h	2006-10-13
15:07:04.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-arm/termbits.h	2006-10-18
14:28:52.000000000 +0100
@@ -15,6 +15,18 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-arm26/termbits.h
linux-2.6.19-rc2-mm1/include/asm-arm26/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-arm26/termbits.h	2006-10-13
15:07:04.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-arm26/termbits.h	2006-10-18
14:29:23.000000000 +0100
@@ -15,6 +15,18 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-avr32/termbits.h
linux-2.6.19-rc2-mm1/include/asm-avr32/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-avr32/termbits.h	2006-10-18
13:50:25.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-avr32/termbits.h	2006-10-18
14:29:47.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-cris/termbits.h
linux-2.6.19-rc2-mm1/include/asm-cris/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-cris/termbits.h	2006-10-13
15:07:04.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-cris/termbits.h	2006-10-18
14:30:08.000000000 +0100
@@ -19,6 +19,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-frv/termbits.h
linux-2.6.19-rc2-mm1/include/asm-frv/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-frv/termbits.h	2006-10-13
15:07:04.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-frv/termbits.h	2006-10-18
14:30:33.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-h8300/termbits.h
linux-2.6.19-rc2-mm1/include/asm-h8300/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-h8300/termbits.h	2006-10-13
15:07:04.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-h8300/termbits.h	2006-10-18
14:31:14.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-i386/termbits.h
linux-2.6.19-rc2-mm1/include/asm-i386/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-i386/termbits.h	2006-10-13
15:07:05.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-i386/termbits.h	2006-10-18
14:31:44.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-ia64/termbits.h
linux-2.6.19-rc2-mm1/include/asm-ia64/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-ia64/termbits.h	2006-10-13
15:07:05.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-ia64/termbits.h	2006-10-18
14:32:11.000000000 +0100
@@ -26,6 +26,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-m32r/termbits.h
linux-2.6.19-rc2-mm1/include/asm-m32r/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-m32r/termbits.h	2006-10-13
15:07:05.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-m32r/termbits.h	2006-10-18
14:32:51.000000000 +0100
@@ -19,6 +19,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-m68k/termbits.h
linux-2.6.19-rc2-mm1/include/asm-m68k/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-m68k/termbits.h	2006-10-13
15:07:05.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-m68k/termbits.h	2006-10-18
14:33:07.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-mips/termbits.h
linux-2.6.19-rc2-mm1/include/asm-mips/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-mips/termbits.h	2006-10-18
13:50:25.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-mips/termbits.h	2006-10-18
14:34:08.000000000 +0100
@@ -30,6 +30,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR		 0		/* Interrupt character [ISIG].  */
 #define VQUIT		 1		/* Quit character [ISIG].  */
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-parisc/termbits.h
linux-2.6.19-rc2-mm1/include/asm-parisc/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-parisc/termbits.h	2006-10-13
15:07:08.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-parisc/termbits.h	2006-10-18
14:34:43.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-powerpc/termbits.h
linux-2.6.19-rc2-mm1/include/asm-powerpc/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-powerpc/termbits.h	2006-10-13
15:07:08.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-powerpc/termbits.h	2006-10-18
14:35:14.000000000 +0100
@@ -30,6 +30,19 @@
 	speed_t c_ospeed;		/* output speed */
 };
 
+/* For PowerPC the termios and ktermios are the same */
+
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 	         0
 #define VQUIT 	         1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-s390/termbits.h
linux-2.6.19-rc2-mm1/include/asm-s390/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-s390/termbits.h	2006-10-13
15:07:08.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-s390/termbits.h	2006-10-18
14:35:50.000000000 +0100
@@ -25,6 +25,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-sh/termbits.h
linux-2.6.19-rc2-mm1/include/asm-sh/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-sh/termbits.h	2006-10-13
15:07:09.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-sh/termbits.h	2006-10-18
14:36:15.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-sparc/termbits.h
linux-2.6.19-rc2-mm1/include/asm-sparc/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-sparc/termbits.h	2006-10-13
15:07:09.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-sparc/termbits.h	2006-10-18
14:48:38.000000000 +0100
@@ -31,6 +31,18 @@
 #endif
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	cc_t _x_cc[2];                  /* We need them to hold vmin/vtime */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR    0
 #define VQUIT    1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-sparc64/termbits.h
linux-2.6.19-rc2-mm1/include/asm-sparc64/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-sparc64/termbits.h	2006-10-13
15:07:09.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-sparc64/termbits.h	2006-10-18
14:48:58.000000000 +0100
@@ -33,6 +33,18 @@
 #endif
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	cc_t _x_cc[2];                  /* We need them to hold vmin/vtime */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR    0
 #define VQUIT    1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-v850/termbits.h
linux-2.6.19-rc2-mm1/include/asm-v850/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-v850/termbits.h	2006-10-13
15:07:09.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-v850/termbits.h	2006-10-18
14:38:03.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1
diff -u --new-file --recursive --exclude-from /usr/src/exclude
linux.vanilla-2.6.19-rc2-mm1/include/asm-x86_64/termbits.h
linux-2.6.19-rc2-mm1/include/asm-x86_64/termbits.h
--- linux.vanilla-2.6.19-rc2-mm1/include/asm-x86_64/termbits.h	2006-10-13
15:07:09.000000000 +0100
+++ linux-2.6.19-rc2-mm1/include/asm-x86_64/termbits.h	2006-10-18
14:11:14.000000000 +0100
@@ -17,6 +17,17 @@
 	cc_t c_cc[NCCS];		/* control characters */
 };
 
+struct ktermios {
+	tcflag_t c_iflag;		/* input mode flags */
+	tcflag_t c_oflag;		/* output mode flags */
+	tcflag_t c_cflag;		/* control mode flags */
+	tcflag_t c_lflag;		/* local mode flags */
+	cc_t c_line;			/* line discipline */
+	cc_t c_cc[NCCS];		/* control characters */
+	speed_t c_ispeed;		/* input speed */
+	speed_t c_ospeed;		/* output speed */
+};
+
 /* c_cc characters */
 #define VINTR 0
 #define VQUIT 1

-
To unsubscribe from this list: send the line "unsubscribe linux-serial" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
CD: 4ms