Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
L
linux-davinci
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Redmine
Redmine
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Operations
Operations
Metrics
Environments
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
linux
linux-davinci
Commits
768cbfbc
Commit
768cbfbc
authored
May 16, 2005
by
Linus Torvalds
Browse files
Options
Browse Files
Download
Plain Diff
Automatic merge of master.kernel.org:/home/rmk/linux-2.6-serial.git
parents
2a4a7e02
05ab3014
Changes
12
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
41 additions
and
110 deletions
+41
-110
drivers/serial/21285.c
drivers/serial/21285.c
+2
-12
drivers/serial/8250.c
drivers/serial/8250.c
+3
-12
drivers/serial/amba-pl010.c
drivers/serial/amba-pl010.c
+2
-12
drivers/serial/amba-pl011.c
drivers/serial/amba-pl011.c
+2
-12
drivers/serial/clps711x.c
drivers/serial/clps711x.c
+1
-4
drivers/serial/pxa.c
drivers/serial/pxa.c
+4
-12
drivers/serial/s3c2410.c
drivers/serial/s3c2410.c
+1
-14
drivers/serial/sa1100.c
drivers/serial/sa1100.c
+1
-4
drivers/serial/serial_lh7a40x.c
drivers/serial/serial_lh7a40x.c
+1
-12
drivers/serial/serial_txx9.c
drivers/serial/serial_txx9.c
+3
-12
drivers/serial/vr41xx_siu.c
drivers/serial/vr41xx_siu.c
+2
-4
include/linux/serial_core.h
include/linux/serial_core.h
+19
-0
No files found.
drivers/serial/21285.c
View file @
768cbfbc
...
...
@@ -126,18 +126,8 @@ static irqreturn_t serial21285_rx_chars(int irq, void *dev_id, struct pt_regs *r
flag
=
TTY_FRAME
;
}
if
((
rxs
&
port
->
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
rxs
&
RXSTAT_OVERRUN
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character.
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
port
,
rxs
,
RXSTAT_OVERRUN
,
ch
,
flag
);
status
=
*
CSR_UARTFLG
;
}
tty_flip_buffer_push
(
tty
);
...
...
drivers/serial/8250.c
View file @
768cbfbc
...
...
@@ -1122,18 +1122,9 @@ receive_chars(struct uart_8250_port *up, int *status, struct pt_regs *regs)
}
if
(
uart_handle_sysrq_char
(
&
up
->
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
lsr
&
up
->
port
.
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
lsr
&
UART_LSR_OE
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character.
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
&
up
->
port
,
lsr
,
UART_LSR_OE
,
ch
,
flag
);
ignore_char:
lsr
=
serial_inp
(
up
,
UART_LSR
);
}
while
((
lsr
&
UART_LSR_DR
)
&&
(
max_count
--
>
0
));
...
...
drivers/serial/amba-pl010.c
View file @
768cbfbc
...
...
@@ -198,18 +198,8 @@ pl010_rx_chars(struct uart_port *port)
if
(
uart_handle_sysrq_char
(
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
rsr
&
port
->
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
rsr
&
UART01x_RSR_OE
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
port
,
rsr
,
UART01x_RSR_OE
,
ch
,
flag
);
ignore_char:
status
=
UART_GET_FR
(
port
);
}
...
...
drivers/serial/amba-pl011.c
View file @
768cbfbc
...
...
@@ -163,18 +163,8 @@ pl011_rx_chars(struct uart_amba_port *uap)
if
(
uart_handle_sysrq_char
(
&
uap
->
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
rsr
&
uap
->
port
.
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
rsr
&
UART01x_RSR_OE
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
&
uap
->
port
,
rsr
,
UART01x_RSR_OE
,
ch
,
flag
);
ignore_char:
status
=
readw
(
uap
->
port
.
membase
+
UART01x_FR
);
}
...
...
drivers/serial/clps711x.c
View file @
768cbfbc
...
...
@@ -143,10 +143,7 @@ static irqreturn_t clps711xuart_int_rx(int irq, void *dev_id, struct pt_regs *re
* CHECK: does overrun affect the current character?
* ASSUMPTION: it does not.
*/
if
((
ch
&
port
->
ignore_status_mask
&
~
RXSTAT_OVERRUN
)
==
0
)
tty_insert_flip_char
(
tty
,
ch
,
flg
);
if
((
ch
&
~
port
->
ignore_status_mask
&
RXSTAT_OVERRUN
)
==
0
)
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
uart_insert_char
(
port
,
ch
,
UARTDR_OVERR
,
ch
,
flg
);
ignore_char:
status
=
clps_readl
(
SYSFLG
(
port
));
...
...
drivers/serial/pxa.c
View file @
768cbfbc
...
...
@@ -161,20 +161,12 @@ receive_chars(struct uart_pxa_port *up, int *status, struct pt_regs *regs)
else
if
(
*
status
&
UART_LSR_FE
)
flag
=
TTY_FRAME
;
}
if
(
uart_handle_sysrq_char
(
&
up
->
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
*
status
&
up
->
port
.
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
*
status
&
UART_LSR_OE
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character.
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
&
up
->
port
,
*
status
,
UART_LSR_OE
,
ch
,
flag
);
ignore_char:
*
status
=
serial_in
(
up
,
UART_LSR
);
}
while
((
*
status
&
UART_LSR_DR
)
&&
(
max_count
--
>
0
));
...
...
drivers/serial/s3c2410.c
View file @
768cbfbc
...
...
@@ -394,20 +394,7 @@ s3c24xx_serial_rx_chars(int irq, void *dev_id, struct pt_regs *regs)
if
(
uart_handle_sysrq_char
(
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
uerstat
&
port
->
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
uerstat
&
S3C2410_UERSTAT_OVERRUN
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character.
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
port
,
uerstat
,
S3C2410_UERSTAT_OVERRUN
,
ch
,
flag
);
ignore_char:
continue
;
...
...
drivers/serial/sa1100.c
View file @
768cbfbc
...
...
@@ -237,10 +237,7 @@ sa1100_rx_chars(struct sa1100_port *sport, struct pt_regs *regs)
if
(
uart_handle_sysrq_char
(
&
sport
->
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
status
&
port
->
ignore_status_mask
&
~
UTSR1_TO_SM
(
UTSR1_ROR
))
==
0
)
tty_insert_flip_char
(
tty
,
ch
,
flg
);
if
(
status
&
~
port
->
ignore_status_mask
&
UTSR1_TO_SM
(
UTSR1_ROR
))
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
uart_insert_char
(
&
sport
->
port
,
status
,
UTSR1_TO_SM
(
UTSR1_ROR
),
ch
,
flg
);
ignore_char:
status
=
UTSR1_TO_SM
(
UART_GET_UTSR1
(
sport
))
|
...
...
drivers/serial/serial_lh7a40x.c
View file @
768cbfbc
...
...
@@ -190,18 +190,7 @@ lh7a40xuart_rx_chars (struct uart_port* port)
if
(
uart_handle_sysrq_char
(
port
,
(
unsigned
char
)
data
,
regs
))
continue
;
if
((
data
&
port
->
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
data
,
flag
);
}
if
((
data
&
RxOverrunError
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
port
,
data
,
RxOverrunError
,
data
,
flag
);
}
tty_flip_buffer_push
(
tty
);
return
;
...
...
drivers/serial/serial_txx9.c
View file @
768cbfbc
...
...
@@ -350,18 +350,9 @@ receive_chars(struct uart_txx9_port *up, unsigned int *status, struct pt_regs *r
}
if
(
uart_handle_sysrq_char
(
&
up
->
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
disr
&
up
->
port
.
ignore_status_mask
)
==
0
)
{
tty_insert_flip_char
(
tty
,
ch
,
flag
);
}
if
((
disr
&
TXX9_SIDISR_UOER
)
&&
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
)
{
/*
* Overrun is special, since it's reported
* immediately, and doesn't affect the current
* character.
*/
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
uart_insert_char
(
&
up
->
port
,
disr
,
TXX9_SIDISR_UOER
,
ch
,
flag
);
ignore_char:
disr
=
sio_in
(
up
,
TXX9_SIDISR
);
}
while
(
!
(
disr
&
TXX9_SIDISR_UVALID
)
&&
(
max_count
--
>
0
));
...
...
drivers/serial/vr41xx_siu.c
View file @
768cbfbc
...
...
@@ -412,10 +412,8 @@ static inline void receive_chars(struct uart_port *port, uint8_t *status,
if
(
uart_handle_sysrq_char
(
port
,
ch
,
regs
))
goto
ignore_char
;
if
((
lsr
&
port
->
ignore_status_mask
)
==
0
)
tty_insert_flip_char
(
tty
,
ch
,
flag
);
if
((
lsr
&
UART_LSR_OE
)
&&
(
tty
->
flip
.
count
<
TTY_FLIPBUF_SIZE
))
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
uart_insert_char
(
port
,
lsr
,
UART_LSR_OE
,
ch
,
flag
);
ignore_char:
lsr
=
siu_read
(
port
,
UART_LSR
);
...
...
include/linux/serial_core.h
View file @
768cbfbc
...
...
@@ -479,6 +479,25 @@ uart_handle_cts_change(struct uart_port *port, unsigned int status)
}
}
#include <linux/tty_flip.h>
static
inline
void
uart_insert_char
(
struct
uart_port
*
port
,
unsigned
int
status
,
unsigned
int
overrun
,
unsigned
int
ch
,
unsigned
int
flag
)
{
struct
tty_struct
*
tty
=
port
->
info
->
tty
;
if
((
status
&
port
->
ignore_status_mask
&
~
overrun
)
==
0
)
tty_insert_flip_char
(
tty
,
ch
,
flag
);
/*
* Overrun is special. Since it's reported immediately,
* it doesn't affect the current character.
*/
if
(
status
&
~
port
->
ignore_status_mask
&
overrun
)
tty_insert_flip_char
(
tty
,
0
,
TTY_OVERRUN
);
}
/*
* UART_ENABLE_MS - determine if port should enable modem status irqs
*/
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment