Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 102347
b: refs/heads/master
c: 6bb0e3a
h: refs/heads/master
i:
  102345: 45c40be
  102343: 80d3c4d
v: v3
  • Loading branch information
Haavard Skinnemoen authored and Linus Torvalds committed Jul 21, 2008
1 parent 85e36f2 commit c00192b
Show file tree
Hide file tree
Showing 4 changed files with 15 additions and 1 deletion.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 15648f154a8faea97cbe931e189cf0a57fd066f4
refs/heads/master: 6bb0e3a59a089e23eecc0af3b6f6012b2a9affba
11 changes: 11 additions & 0 deletions trunk/Documentation/serial/driver
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,17 @@ hardware.
Locking: port_sem taken.
Interrupts: caller dependent.

flush_buffer(port)
Flush any write buffers, reset any DMA state and stop any
ongoing DMA transfers.

This will be called whenever the port->info->xmit circular
buffer is cleared.

Locking: port->lock taken.
Interrupts: locally disabled.
This call must not sleep

set_termios(port,termios,oldtermios)
Change the port parameters, including word length, parity, stop
bits. Update read_status_mask and ignore_status_mask to indicate
Expand Down
2 changes: 2 additions & 0 deletions trunk/drivers/serial/serial_core.c
Original file line number Diff line number Diff line change
Expand Up @@ -573,6 +573,8 @@ static void uart_flush_buffer(struct tty_struct *tty)

spin_lock_irqsave(&port->lock, flags);
uart_circ_clear(&state->info->xmit);
if (port->ops->flush_buffer)
port->ops->flush_buffer(port);
spin_unlock_irqrestore(&port->lock, flags);
tty_wakeup(tty);
}
Expand Down
1 change: 1 addition & 0 deletions trunk/include/linux/serial_core.h
Original file line number Diff line number Diff line change
Expand Up @@ -190,6 +190,7 @@ struct uart_ops {
void (*break_ctl)(struct uart_port *, int ctl);
int (*startup)(struct uart_port *);
void (*shutdown)(struct uart_port *);
void (*flush_buffer)(struct uart_port *);
void (*set_termios)(struct uart_port *, struct ktermios *new,
struct ktermios *old);
void (*set_ldisc)(struct uart_port *);
Expand Down

0 comments on commit c00192b

Please sign in to comment.