Skip to content

Commit d6efb3a

Browse files
committed
Merge tag 'tty-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial updates from Greg KH: "Here is the large set of TTY and Serial driver patches for 5.9-rc1. Lots of bugfixes in here, thanks to syzbot fuzzing for serial and vt and console code. Other highlights include: - much needed vt/vc code cleanup from Jiri Slaby - 8250 driver fixes and additions - various serial driver updates and feature enhancements - locking cleanup for serial/console initializations - other minor cleanups All of these have been in linux-next with no reported issues" * tag 'tty-5.9-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (90 commits) MAINTAINERS: enlist Greg formally for console stuff vgacon: Fix for missing check in scrollback handling Revert "serial: 8250: Let serial core initialise spin lock" serial: 8250: Let serial core initialise spin lock tty: keyboard, do not speculate on func_table index serial: stm32: Add RS485 RTS GPIO control serial: 8250_dw: Fix common clocks usage race condition serial: 8250_dw: Pass the same rate to the clk round and set rate methods serial: 8250_dw: Simplify the ref clock rate setting procedure serial: 8250: Add 8250 port clock update method tty: serial: imx: add imx earlycon driver tty: serial: imx: enable imx serial console port as module tty/synclink: remove leftover bits of non-PCI card support tty: Use the preferred form for passing the size of a structure type tty: Fix identation issues in struct serial_struct32 tty: Avoid the use of one-element arrays serial: msm_serial: add sparse context annotation serial: pmac_zilog: add sparse context annotation newport_con: vc_color is now in state serial: imx: use hrtimers for rs485 delays ...
2 parents c0c419c + f6c6eb2 commit d6efb3a

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

63 files changed

+1847
-1613
lines changed

Documentation/devicetree/bindings/serial/st,stm32-uart.yaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,9 +35,11 @@ properties:
3535
description: label associated with this uart
3636

3737
st,hw-flow-ctrl:
38-
description: enable hardware flow control
38+
description: enable hardware flow control (deprecated)
3939
$ref: /schemas/types.yaml#/definitions/flag
4040

41+
uart-has-rtscts: true
42+
4143
dmas:
4244
minItems: 1
4345
maxItems: 2

Documentation/driver-api/serial/n_gsm.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ GSM 0710 tty multiplexor HOWTO
55
This line discipline implements the GSM 07.10 multiplexing protocol
66
detailed in the following 3GPP document:
77

8-
http://www.3gpp.org/ftp/Specs/archive/07_series/07.10/0710-720.zip
8+
https://www.3gpp.org/ftp/Specs/archive/07_series/07.10/0710-720.zip
99

1010
This document give some hints on how to use this driver with GPRS and 3G
1111
modems connected to a physical serial port.

MAINTAINERS

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4386,6 +4386,12 @@ L: [email protected]
43864386
S: Maintained
43874387
F: drivers/connector/
43884388

4389+
CONSOLE SUBSYSTEM
4390+
M: Greg Kroah-Hartman <[email protected]>
4391+
S: Supported
4392+
F: drivers/video/console/
4393+
F: include/linux/console*
4394+
43894395
CONTROL GROUP (CGROUP)
43904396
M: Tejun Heo <[email protected]>
43914397
M: Li Zefan <[email protected]>

arch/um/drivers/line.c

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -184,11 +184,6 @@ void line_flush_chars(struct tty_struct *tty)
184184
line_flush_buffer(tty);
185185
}
186186

187-
int line_put_char(struct tty_struct *tty, unsigned char ch)
188-
{
189-
return line_write(tty, &ch, sizeof(ch));
190-
}
191-
192187
int line_write(struct tty_struct *tty, const unsigned char *buf, int len)
193188
{
194189
struct line *line = tty->driver_data;

arch/um/drivers/line.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,6 @@ extern int line_setup(char **conf, unsigned nlines, char **def,
6666
char *init, char *name);
6767
extern int line_write(struct tty_struct *tty, const unsigned char *buf,
6868
int len);
69-
extern int line_put_char(struct tty_struct *tty, unsigned char ch);
7069
extern void line_set_termios(struct tty_struct *tty, struct ktermios * old);
7170
extern int line_chars_in_buffer(struct tty_struct *tty);
7271
extern void line_flush_buffer(struct tty_struct *tty);

arch/um/drivers/ssl.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -95,7 +95,6 @@ static const struct tty_operations ssl_ops = {
9595
.open = line_open,
9696
.close = line_close,
9797
.write = line_write,
98-
.put_char = line_put_char,
9998
.write_room = line_write_room,
10099
.chars_in_buffer = line_chars_in_buffer,
101100
.flush_buffer = line_flush_buffer,

arch/um/drivers/stdio_console.c

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,6 @@ static const struct tty_operations console_ops = {
102102
.install = con_install,
103103
.close = line_close,
104104
.write = line_write,
105-
.put_char = line_put_char,
106105
.write_room = line_write_room,
107106
.chars_in_buffer = line_chars_in_buffer,
108107
.flush_buffer = line_flush_buffer,

drivers/accessibility/braille/braille_console.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -109,16 +109,16 @@ static void braille_write(u16 *buf)
109109
/* Follow the VC cursor*/
110110
static void vc_follow_cursor(struct vc_data *vc)
111111
{
112-
vc_x = vc->vc_x - (vc->vc_x % WIDTH);
113-
vc_y = vc->vc_y;
114-
lastvc_x = vc->vc_x;
115-
lastvc_y = vc->vc_y;
112+
vc_x = vc->state.x - (vc->state.x % WIDTH);
113+
vc_y = vc->state.y;
114+
lastvc_x = vc->state.x;
115+
lastvc_y = vc->state.y;
116116
}
117117

118118
/* Maybe the VC cursor moved, if so follow it */
119119
static void vc_maybe_cursor_moved(struct vc_data *vc)
120120
{
121-
if (vc->vc_x != lastvc_x || vc->vc_y != lastvc_y)
121+
if (vc->state.x != lastvc_x || vc->state.y != lastvc_y)
122122
vc_follow_cursor(vc);
123123
}
124124

drivers/accessibility/speakup/main.c

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -263,8 +263,8 @@ static unsigned char get_attributes(struct vc_data *vc, u16 *pos)
263263

264264
static void speakup_date(struct vc_data *vc)
265265
{
266-
spk_x = spk_cx = vc->vc_x;
267-
spk_y = spk_cy = vc->vc_y;
266+
spk_x = spk_cx = vc->state.x;
267+
spk_y = spk_cy = vc->state.y;
268268
spk_pos = spk_cp = vc->vc_pos;
269269
spk_old_attr = spk_attr;
270270
spk_attr = get_attributes(vc, (u_short *)spk_pos);
@@ -1551,9 +1551,9 @@ static void do_handle_cursor(struct vc_data *vc, u_char value, char up_flag)
15511551
*/
15521552
is_cursor = value + 1;
15531553
old_cursor_pos = vc->vc_pos;
1554-
old_cursor_x = vc->vc_x;
1555-
old_cursor_y = vc->vc_y;
1556-
speakup_console[vc->vc_num]->ht.cy = vc->vc_y;
1554+
old_cursor_x = vc->state.x;
1555+
old_cursor_y = vc->state.y;
1556+
speakup_console[vc->vc_num]->ht.cy = vc->state.y;
15571557
cursor_con = vc->vc_num;
15581558
if (cursor_track == CT_Highlight)
15591559
reset_highlight_buffers(vc);
@@ -1574,8 +1574,8 @@ static void update_color_buffer(struct vc_data *vc, const u16 *ic, int len)
15741574
i = 0;
15751575
if (speakup_console[vc_num]->ht.highsize[bi] == 0) {
15761576
speakup_console[vc_num]->ht.rpos[bi] = vc->vc_pos;
1577-
speakup_console[vc_num]->ht.rx[bi] = vc->vc_x;
1578-
speakup_console[vc_num]->ht.ry[bi] = vc->vc_y;
1577+
speakup_console[vc_num]->ht.rx[bi] = vc->state.x;
1578+
speakup_console[vc_num]->ht.ry[bi] = vc->state.y;
15791579
}
15801580
while ((hi < COLOR_BUFFER_SIZE) && (i < len)) {
15811581
if (ic[i] > 32) {
@@ -1664,9 +1664,9 @@ static int speak_highlight(struct vc_data *vc)
16641664
return 0;
16651665
hc = get_highlight_color(vc);
16661666
if (hc != -1) {
1667-
d = vc->vc_y - speakup_console[vc_num]->ht.cy;
1667+
d = vc->state.y - speakup_console[vc_num]->ht.cy;
16681668
if ((d == 1) || (d == -1))
1669-
if (speakup_console[vc_num]->ht.ry[hc] != vc->vc_y)
1669+
if (speakup_console[vc_num]->ht.ry[hc] != vc->state.y)
16701670
return 0;
16711671
spk_parked |= 0x01;
16721672
spk_do_flush();
@@ -1693,8 +1693,8 @@ static void cursor_done(struct timer_list *unused)
16931693
}
16941694
speakup_date(vc);
16951695
if (win_enabled) {
1696-
if (vc->vc_x >= win_left && vc->vc_x <= win_right &&
1697-
vc->vc_y >= win_top && vc->vc_y <= win_bottom) {
1696+
if (vc->state.x >= win_left && vc->state.x <= win_right &&
1697+
vc->state.y >= win_top && vc->state.y <= win_bottom) {
16981698
spk_keydown = 0;
16991699
is_cursor = 0;
17001700
goto out;
@@ -1757,7 +1757,7 @@ static void speakup_con_write(struct vc_data *vc, u16 *str, int len)
17571757
if (!spin_trylock_irqsave(&speakup_info.spinlock, flags))
17581758
/* Speakup output, discard */
17591759
return;
1760-
if (spk_bell_pos && spk_keydown && (vc->vc_x == spk_bell_pos - 1))
1760+
if (spk_bell_pos && spk_keydown && (vc->state.x == spk_bell_pos - 1))
17611761
bleep(3);
17621762
if ((is_cursor) || (cursor_track == read_all_mode)) {
17631763
if (cursor_track == CT_Highlight)
@@ -1766,8 +1766,8 @@ static void speakup_con_write(struct vc_data *vc, u16 *str, int len)
17661766
return;
17671767
}
17681768
if (win_enabled) {
1769-
if (vc->vc_x >= win_left && vc->vc_x <= win_right &&
1770-
vc->vc_y >= win_top && vc->vc_y <= win_bottom) {
1769+
if (vc->state.x >= win_left && vc->state.x <= win_right &&
1770+
vc->state.y >= win_top && vc->state.y <= win_bottom) {
17711771
spin_unlock_irqrestore(&speakup_info.spinlock, flags);
17721772
return;
17731773
}

drivers/tty/moxa.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@
138138
#define IntrQuit 0x40 /* received QUIT code */
139139
#define IntrEOF 0x80 /* received EOF code */
140140

141-
#define IntrRxTrigger 0x100 /* rx data count reach tigger value */
141+
#define IntrRxTrigger 0x100 /* rx data count reach trigger value */
142142
#define IntrTxTrigger 0x200 /* tx data count below trigger value */
143143

144144
#define Magic_no (Config_base + 0)

0 commit comments

Comments
 (0)