Skip to content

Commit

Permalink
lots-of-architectures: enable arbitary speed tty support
Browse files Browse the repository at this point in the history
Add the termios2 structure ready for enabling on most platforms.  One or
two like Sparc are plain weird so have been left alone.  Most can use the
same structure as ktermios for termios2 (ie the newer ioctl uses the
structure matching the current kernel structure)

Signed-off-by: Alan Cox <[email protected]>
Cc: Bryan Wu <[email protected]>
Cc: Ian Molton <[email protected]>
Cc: Haavard Skinnemoen <[email protected]>
Cc: Yoshinori Sato <[email protected]>
Cc: Mikael Starvik <[email protected]>
Cc: David Howells <[email protected]>
Cc: "Luck, Tony" <[email protected]>
Cc: Hirokazu Takata <[email protected]>
Cc: Geert Uytterhoeven <[email protected]>
Cc: Roman Zippel <[email protected]>
Cc: Ralf Baechle <[email protected]>
Cc: Kyle McMartin <[email protected]>
Cc: Matthew Wilcox <[email protected]>
Cc: Heiko Carstens <[email protected]>
Cc: Martin Schwidefsky <[email protected]>
Cc: Paul Mundt <[email protected]>
Cc: Kazumoto Kojima <[email protected]>
Cc: Richard Curnow <[email protected]>
Cc: Miles Bader <[email protected]>
Cc: Chris Zankel <[email protected]>
Signed-off-by: Andrew Morton <[email protected]>
Signed-off-by: Linus Torvalds <[email protected]>
  • Loading branch information
Alan-Cox authored and Linus Torvalds committed Jul 11, 2007
1 parent bcf67e1 commit 4eb6bf6
Show file tree
Hide file tree
Showing 15 changed files with 165 additions and 1 deletion.
12 changes: 11 additions & 1 deletion include/asm-arm26/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

struct ktermios {
struct termios2 {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
tcflag_t c_cflag; /* control mode flags */
Expand All @@ -26,6 +26,16 @@ struct ktermios {
speed_t c_ospeed; /* output speed */
};

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
Expand Down
11 changes: 11 additions & 0 deletions include/asm-avr32/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-blackfin/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-cris/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-frv/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-h8300/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-ia64/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-m32r/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-m68k/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-mips/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-parisc/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-s390/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-sh/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-v850/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down
11 changes: 11 additions & 0 deletions include/asm-xtensa/termbits.h
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,17 @@ struct termios {
cc_t c_cc[NCCS]; /* control characters */
};

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

struct ktermios {
tcflag_t c_iflag; /* input mode flags */
tcflag_t c_oflag; /* output mode flags */
Expand Down

0 comments on commit 4eb6bf6

Please sign in to comment.