Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 207897
b: refs/heads/master
c: eab4f5a
h: refs/heads/master
i:
  207895: 708031a
v: v3
  • Loading branch information
Alan Cox authored and Greg Kroah-Hartman committed Aug 10, 2010
1 parent 54f20c5 commit a790122
Show file tree
Hide file tree
Showing 6 changed files with 20 additions and 27 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 192251352f912bccfb942ea35801d2357f11f592
refs/heads/master: eab4f5af6b07009d1fc48bac5f3215c0cbfb2fc3
10 changes: 3 additions & 7 deletions trunk/drivers/serial/21285.c
Original file line number Diff line number Diff line change
Expand Up @@ -216,7 +216,7 @@ serial21285_set_termios(struct uart_port *port, struct ktermios *termios,
struct ktermios *old)
{
unsigned long flags;
unsigned int baud, quot, h_lcr;
unsigned int baud, quot, h_lcr, b;

/*
* We don't support modem control lines.
Expand All @@ -234,12 +234,8 @@ serial21285_set_termios(struct uart_port *port, struct ktermios *termios,
*/
baud = uart_get_baud_rate(port, termios, old, 0, port->uartclk/16);
quot = uart_get_divisor(port, baud);

if (port->state && port->state->port.tty) {
struct tty_struct *tty = port->state->port.tty;
unsigned int b = port->uartclk / (16 * quot);
tty_encode_baud_rate(tty, b, b);
}
b = port->uartclk / (16 * quot);
tty_termios_encode_baud_rate(termios, b, b);

switch (termios->c_cflag & CSIZE) {
case CS5:
Expand Down
10 changes: 4 additions & 6 deletions trunk/drivers/serial/imx.c
Original file line number Diff line number Diff line change
Expand Up @@ -909,13 +909,11 @@ imx_set_termios(struct uart_port *port, struct ktermios *termios,
rational_best_approximation(16 * div * baud, sport->port.uartclk,
1 << 16, 1 << 16, &num, &denom);

if (port->state && port->state->port.tty) {
tdiv64 = sport->port.uartclk;
tdiv64 *= num;
do_div(tdiv64, denom * 16 * div);
tty_encode_baud_rate(sport->port.state->port.tty,
tdiv64 = sport->port.uartclk;
tdiv64 *= num;
do_div(tdiv64, denom * 16 * div);
tty_termios_encode_baud_rate(termios,
(speed_t)tdiv64, (speed_t)tdiv64);
}

num -= 1;
denom -= 1;
Expand Down
9 changes: 5 additions & 4 deletions trunk/drivers/serial/ioc3_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -954,12 +954,13 @@ ioc3_change_speed(struct uart_port *the_port,
struct ktermios *new_termios, struct ktermios *old_termios)
{
struct ioc3_port *port = get_ioc3_port(the_port);
unsigned int cflag;
unsigned int cflag, iflag;
int baud;
int new_parity = 0, new_parity_enable = 0, new_stop = 0, new_data = 8;
struct uart_state *state = the_port->state;

cflag = new_termios->c_cflag;
iflag = new_termios->c_iflag;

switch (cflag & CSIZE) {
case CS5:
Expand Down Expand Up @@ -1000,12 +1001,12 @@ ioc3_change_speed(struct uart_port *the_port,

state->port.tty->low_latency = 1;

if (I_IGNPAR(state->port.tty))
if (iflag & IGNPAR)
the_port->ignore_status_mask &= ~(N_PARITY_ERROR
| N_FRAMING_ERROR);
if (I_IGNBRK(state->port.tty)) {
if (iflag & IGNBRK) {
the_port->ignore_status_mask &= ~N_BREAK;
if (I_IGNPAR(state->port.tty))
if (iflag & IGNPAR)
the_port->ignore_status_mask &= ~N_OVERRUN_ERROR;
}
if (!(cflag & CREAD)) {
Expand Down
9 changes: 5 additions & 4 deletions trunk/drivers/serial/ioc4_serial.c
Original file line number Diff line number Diff line change
Expand Up @@ -1685,11 +1685,12 @@ ioc4_change_speed(struct uart_port *the_port,
{
struct ioc4_port *port = get_ioc4_port(the_port, 0);
int baud, bits;
unsigned cflag;
unsigned cflag, iflag;
int new_parity = 0, new_parity_enable = 0, new_stop = 0, new_data = 8;
struct uart_state *state = the_port->state;

cflag = new_termios->c_cflag;
iflag = new_termios->c_iflag;

switch (cflag & CSIZE) {
case CS5:
Expand Down Expand Up @@ -1741,12 +1742,12 @@ ioc4_change_speed(struct uart_port *the_port,

state->port.tty->low_latency = 1;

if (I_IGNPAR(state->port.tty))
if (iflag & IGNPAR)
the_port->ignore_status_mask &= ~(N_PARITY_ERROR
| N_FRAMING_ERROR);
if (I_IGNBRK(state->port.tty)) {
if (iflag & IGNBRK) {
the_port->ignore_status_mask &= ~N_BREAK;
if (I_IGNPAR(state->port.tty))
if (iflag & IGNPAR)
the_port->ignore_status_mask &= ~N_OVERRUN_ERROR;
}
if (!(cflag & CREAD)) {
Expand Down
7 changes: 2 additions & 5 deletions trunk/drivers/serial/max3100.c
Original file line number Diff line number Diff line change
Expand Up @@ -430,17 +430,14 @@ max3100_set_termios(struct uart_port *port, struct ktermios *termios,
int baud = 0;
unsigned cflag;
u32 param_new, param_mask, parity = 0;
struct tty_struct *tty = s->port.state->port.tty;

dev_dbg(&s->spi->dev, "%s\n", __func__);
if (!tty)
return;

cflag = termios->c_cflag;
param_new = 0;
param_mask = 0;

baud = tty_get_baud_rate(tty);
baud = tty_termios_baud_rate(termios);
param_new = s->conf & MAX3100_BAUD;
switch (baud) {
case 300:
Expand Down Expand Up @@ -485,7 +482,7 @@ max3100_set_termios(struct uart_port *port, struct ktermios *termios,
default:
baud = s->baud;
}
tty_encode_baud_rate(tty, baud, baud);
tty_termios_encode_baud_rate(termios, baud, baud);
s->baud = baud;
param_mask |= MAX3100_BAUD;

Expand Down

0 comments on commit a790122

Please sign in to comment.