History

Merge tag 'tty-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty and serial driver updates from Greg KH: "Here is the big set of tty and serial driver updates for 5.19-rc1. Lots of tiny cleanups in here, the major stuff is: - termbit cleanups and unification by Ilpo. A much needed change that goes a long way to making things simpler for all of the different arches - tty documentation cleanups and movements to their own place in the documentation tree - old tty driver cleanups and fixes from Jiri to bring some existing drivers into the modern world - RS485 cleanups and unifications to make it easier for individual drivers to support this mode instead of having to duplicate logic in each driver - Lots of 8250 driver updates and additions - new device id additions - n_gsm continued fixes and cleanups - other minor serial driver updates and cleanups All of these have been in linux-next for weeks with no reported issues" * tag 'tty-5.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (166 commits) tty: Rework receive flow control char logic pcmcia: synclink_cs: Don't allow CS5-6 serial: stm32-usart: Correct CSIZE, bits, and parity serial: st-asc: Sanitize CSIZE and correct PARENB for CS7 serial: sifive: Sanitize CSIZE and c_iflag serial: sh-sci: Don't allow CS5-6 serial: txx9: Don't allow CS5-6 serial: rda-uart: Don't allow CS5-6 serial: digicolor-usart: Don't allow CS5-6 serial: uartlite: Fix BRKINT clearing serial: cpm_uart: Fix build error without CONFIG_SERIAL_CPM_CONSOLE serial: core: Do stop_rx in suspend path for console if console_suspend is disabled tty: serial: qcom-geni-serial: Remove uart frequency table. Instead, find suitable frequency with call to clk_round_rate. dt-bindings: serial: renesas,em-uart: Add RZ/V2M clock to access the registers serial: 8250_fintek: Check SER_RS485_RTS_* only with RS485 Revert "serial: 8250_mtk: Make sure to select the right FEATURE_SEL" serial: msm_serial: disable interrupts in __msm_console_write() serial: meson: acquire port->lock in startup() serial: 8250_dw: Use dev_err_probe() serial: 8250_dw: Use devm_add_action_or_reset() ...

Linus Torvalds committed 4 years ago

Commit 932c2982 parents 4ad680f 25e02ba114 files · +3164 −2451Browse files

Showing the changes to include/uapi (2 of 114 files). Show all

Unified · Split

2 files
  1. include/uapi/asm-generic/termbits-common.h +65 −0
  2. include/uapi/asm-generic/termbits.h +94 −145
include/uapi/asm-generic/termbits-common.h+65−0
@@ -0,0 +1,65 @@
1+/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2+#ifndef __ASM_GENERIC_TERMBITS_COMMON_H
3+#define __ASM_GENERIC_TERMBITS_COMMON_H
4+
5+typedef unsigned char cc_t;
6+typedef unsigned int speed_t;
7+
8+/* c_iflag bits */
9+#define IGNBRK 0x001 /* Ignore break condition */
10+#define BRKINT 0x002 /* Signal interrupt on break */
11+#define IGNPAR 0x004 /* Ignore characters with parity errors */
12+#define PARMRK 0x008 /* Mark parity and framing errors */
13+#define INPCK 0x010 /* Enable input parity check */
14+#define ISTRIP 0x020 /* Strip 8th bit off characters */
15+#define INLCR 0x040 /* Map NL to CR on input */
16+#define IGNCR 0x080 /* Ignore CR */
17+#define ICRNL 0x100 /* Map CR to NL on input */
18+#define IXANY 0x800 /* Any character will restart after stop */
19+
20+/* c_oflag bits */
21+#define OPOST 0x01 /* Perform output processing */
22+#define OCRNL 0x08
23+#define ONOCR 0x10
24+#define ONLRET 0x20
25+#define OFILL 0x40
26+#define OFDEL 0x80
27+
28+/* c_cflag bit meaning */
29+/* Common CBAUD rates */
30+#define B0 0x00000000 /* hang up */
31+#define B50 0x00000001
32+#define B75 0x00000002
33+#define B110 0x00000003
34+#define B134 0x00000004
35+#define B150 0x00000005
36+#define B200 0x00000006
37+#define B300 0x00000007
38+#define B600 0x00000008
39+#define B1200 0x00000009
40+#define B1800 0x0000000a
41+#define B2400 0x0000000b
42+#define B4800 0x0000000c
43+#define B9600 0x0000000d
44+#define B19200 0x0000000e
45+#define B38400 0x0000000f
46+#define EXTA B19200
47+#define EXTB B38400
48+
49+#define CMSPAR 0x40000000 /* mark or space (stick) parity */
50+#define CRTSCTS 0x80000000 /* flow control */
51+
52+#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
53+
54+/* tcflow() ACTION argument and TCXONC use these */
55+#define TCOOFF 0 /* Suspend output */
56+#define TCOON 1 /* Restart suspended output */
57+#define TCIOFF 2 /* Send a STOP character */
58+#define TCION 3 /* Send a START character */
59+
60+/* tcflush() QUEUE_SELECTOR argument and TCFLSH use these */
61+#define TCIFLUSH 0 /* Discard data received but not yet read */
62+#define TCOFLUSH 1 /* Discard data written but not yet sent */
63+#define TCIOFLUSH 2 /* Discard all pending data */
64+
65+#endif /* __ASM_GENERIC_TERMBITS_COMMON_H */
include/uapi/asm-generic/termbits.h+94−145
@@ -2,10 +2,8 @@ · 1 unmodified line
22 #ifndef __ASM_GENERIC_TERMBITS_H
33 #define __ASM_GENERIC_TERMBITS_H
44
5−#include <linux/posix_types.h>
5+#include <asm-generic/termbits-common.h>
66
7−typedef unsigned char cc_t;
8−typedef unsigned int speed_t;
97 typedef unsigned int tcflag_t;
108
119 #define NCCS 19
@@ -41,156 +39,107 @@ struct ktermios { · 29 unmodified lines
4139 };
4240
4341 /* c_cc characters */
44−#define VINTR 0
45−#define VQUIT 1
46−#define VERASE 2
47−#define VKILL 3
48−#define VEOF 4
49−#define VTIME 5
50−#define VMIN 6
51−#define VSWTC 7
52−#define VSTART 8
53−#define VSTOP 9
54−#define VSUSP 10
55−#define VEOL 11
56−#define VREPRINT 12
57−#define VDISCARD 13
58−#define VWERASE 14
59−#define VLNEXT 15
60−#define VEOL2 16
42+#define VINTR 0
43+#define VQUIT 1
44+#define VERASE 2
45+#define VKILL 3
46+#define VEOF 4
47+#define VTIME 5
48+#define VMIN 6
49+#define VSWTC 7
50+#define VSTART 8
51+#define VSTOP 9
52+#define VSUSP 10
53+#define VEOL 11
54+#define VREPRINT 12
55+#define VDISCARD 13
56+#define VWERASE 14
57+#define VLNEXT 15
58+#define VEOL2 16
6159
6260 /* c_iflag bits */
63−#define IGNBRK 0000001
64−#define BRKINT 0000002
65−#define IGNPAR 0000004
66−#define PARMRK 0000010
67−#define INPCK 0000020
68−#define ISTRIP 0000040
69−#define INLCR 0000100
70−#define IGNCR 0000200
71−#define ICRNL 0000400
72−#define IUCLC 0001000
73−#define IXON 0002000
74−#define IXANY 0004000
75−#define IXOFF 0010000
76−#define IMAXBEL 0020000
77−#define IUTF8 0040000
61+#define IUCLC 0x0200
62+#define IXON 0x0400
63+#define IXOFF 0x1000
64+#define IMAXBEL 0x2000
65+#define IUTF8 0x4000
7866
7967 /* c_oflag bits */
80−#define OPOST 0000001
81−#define OLCUC 0000002
82−#define ONLCR 0000004
83−#define OCRNL 0000010
84−#define ONOCR 0000020
85−#define ONLRET 0000040
86−#define OFILL 0000100
87−#define OFDEL 0000200
88−#define NLDLY 0000400
89−#define NL0 0000000
90−#define NL1 0000400
91−#define CRDLY 0003000
92−#define CR0 0000000
93−#define CR1 0001000
94−#define CR2 0002000
95−#define CR3 0003000
96−#define TABDLY 0014000
97−#define TAB0 0000000
98−#define TAB1 0004000
99−#define TAB2 0010000
100−#define TAB3 0014000
101−#define XTABS 0014000
102−#define BSDLY 0020000
103−#define BS0 0000000
104−#define BS1 0020000
105−#define VTDLY 0040000
106−#define VT0 0000000
107−#define VT1 0040000
108−#define FFDLY 0100000
109−#define FF0 0000000
110−#define FF1 0100000
68+#define OLCUC 0x00002
69+#define ONLCR 0x00004
70+#define NLDLY 0x00100
71+#define NL0 0x00000
72+#define NL1 0x00100
73+#define CRDLY 0x00600
74+#define CR0 0x00000
75+#define CR1 0x00200
76+#define CR2 0x00400
77+#define CR3 0x00600
78+#define TABDLY 0x01800
79+#define TAB0 0x00000
80+#define TAB1 0x00800
81+#define TAB2 0x01000
82+#define TAB3 0x01800
83+#define XTABS 0x01800
84+#define BSDLY 0x02000
85+#define BS0 0x00000
86+#define BS1 0x02000
87+#define VTDLY 0x04000
88+#define VT0 0x00000
89+#define VT1 0x04000
90+#define FFDLY 0x08000
91+#define FF0 0x00000
92+#define FF1 0x08000
11193
11294 /* c_cflag bit meaning */
113−#define CBAUD 0010017
114−#define B0 0000000 /* hang up */
115−#define B50 0000001
116−#define B75 0000002
117−#define B110 0000003
118−#define B134 0000004
119−#define B150 0000005
120−#define B200 0000006
121−#define B300 0000007
122−#define B600 0000010
123−#define B1200 0000011
124−#define B1800 0000012
125−#define B2400 0000013
126−#define B4800 0000014
127−#define B9600 0000015
128−#define B19200 0000016
129−#define B38400 0000017
130−#define EXTA B19200
131−#define EXTB B38400
132−#define CSIZE 0000060
133−#define CS5 0000000
134−#define CS6 0000020
135−#define CS7 0000040
136−#define CS8 0000060
137−#define CSTOPB 0000100
138−#define CREAD 0000200
139−#define PARENB 0000400
140−#define PARODD 0001000
141−#define HUPCL 0002000
142−#define CLOCAL 0004000
143−#define CBAUDEX 0010000
144−#define BOTHER 0010000
145−#define B57600 0010001
146−#define B115200 0010002
147−#define B230400 0010003
148−#define B460800 0010004
149−#define B500000 0010005
150−#define B576000 0010006
151−#define B921600 0010007
152−#define B1000000 0010010
153−#define B1152000 0010011
154−#define B1500000 0010012
155−#define B2000000 0010013
156−#define B2500000 0010014
157−#define B3000000 0010015
158−#define B3500000 0010016
159−#define B4000000 0010017
160−#define CIBAUD 002003600000 /* input baud rate */
161−#define CMSPAR 010000000000 /* mark or space (stick) parity */
162−#define CRTSCTS 020000000000 /* flow control */
163−
164−#define IBSHIFT 16 /* Shift from CBAUD to CIBAUD */
95+#define CBAUD 0x0000100f
96+#define CSIZE 0x00000030
97+#define CS5 0x00000000
98+#define CS6 0x00000010
99+#define CS7 0x00000020
100+#define CS8 0x00000030
101+#define CSTOPB 0x00000040
102+#define CREAD 0x00000080
103+#define PARENB 0x00000100
104+#define PARODD 0x00000200
105+#define HUPCL 0x00000400
106+#define CLOCAL 0x00000800
107+#define CBAUDEX 0x00001000
108+#define BOTHER 0x00001000
109+#define B57600 0x00001001
110+#define B115200 0x00001002
111+#define B230400 0x00001003
112+#define B460800 0x00001004
113+#define B500000 0x00001005
114+#define B576000 0x00001006
115+#define B921600 0x00001007
116+#define B1000000 0x00001008
117+#define B1152000 0x00001009
118+#define B1500000 0x0000100a
119+#define B2000000 0x0000100b
120+#define B2500000 0x0000100c
121+#define B3000000 0x0000100d
122+#define B3500000 0x0000100e
123+#define B4000000 0x0000100f
124+#define CIBAUD 0x100f0000 /* input baud rate */
165125
166126 /* c_lflag bits */
167−#define ISIG 0000001
168−#define ICANON 0000002
169−#define XCASE 0000004
170−#define ECHO 0000010
171−#define ECHOE 0000020
172−#define ECHOK 0000040
173−#define ECHONL 0000100
174−#define NOFLSH 0000200
175−#define TOSTOP 0000400
176−#define ECHOCTL 0001000
177−#define ECHOPRT 0002000
178−#define ECHOKE 0004000
179−#define FLUSHO 0010000
180−#define PENDIN 0040000
181−#define IEXTEN 0100000
182−#define EXTPROC 0200000
183−
184−/* tcflow() and TCXONC use these */
185−#define TCOOFF 0
186−#define TCOON 1
187−#define TCIOFF 2
188−#define TCION 3
189−
190−/* tcflush() and TCFLSH use these */
191−#define TCIFLUSH 0
192−#define TCOFLUSH 1
193−#define TCIOFLUSH 2
127+#define ISIG 0x00001
128+#define ICANON 0x00002
129+#define XCASE 0x00004
130+#define ECHO 0x00008
131+#define ECHOE 0x00010
132+#define ECHOK 0x00020
133+#define ECHONL 0x00040
134+#define NOFLSH 0x00080
135+#define TOSTOP 0x00100
136+#define ECHOCTL 0x00200
137+#define ECHOPRT 0x00400
138+#define ECHOKE 0x00800
139+#define FLUSHO 0x01000
140+#define PENDIN 0x04000
141+#define IEXTEN 0x08000
142+#define EXTPROC 0x10000
194143
195144 /* tcsetattr uses these */
196145 #define TCSANOW 0