|
@@ -2498,11 +2498,11 @@ static unsigned int npcm_get_divisor(struct uart_8250_port *up,
|
|
|
return DIV_ROUND_CLOSEST(port->uartclk, 16 * baud + 2) - 2;
|
|
|
}
|
|
|
|
|
|
-static unsigned int serial8250_get_divisor(struct uart_8250_port *up,
|
|
|
+static unsigned int serial8250_get_divisor(struct uart_port *port,
|
|
|
unsigned int baud,
|
|
|
unsigned int *frac)
|
|
|
{
|
|
|
- struct uart_port *port = &up->port;
|
|
|
+ struct uart_8250_port *up = up_to_u8250p(port);
|
|
|
unsigned int quot;
|
|
|
|
|
|
/*
|
|
@@ -2636,7 +2636,7 @@ serial8250_do_set_termios(struct uart_port *port, struct ktermios *termios,
|
|
|
cval = serial8250_compute_lcr(up, termios->c_cflag);
|
|
|
|
|
|
baud = serial8250_get_baud_rate(port, termios, old);
|
|
|
- quot = serial8250_get_divisor(up, baud, &frac);
|
|
|
+ quot = serial8250_get_divisor(port, baud, &frac);
|
|
|
|
|
|
/*
|
|
|
* Ok, we're now changing the port state. Do it with
|
|
@@ -3197,7 +3197,7 @@ static void serial8250_console_restore(struct uart_8250_port *up)
|
|
|
termios.c_cflag = port->state->port.tty->termios.c_cflag;
|
|
|
|
|
|
baud = serial8250_get_baud_rate(port, &termios, NULL);
|
|
|
- quot = serial8250_get_divisor(up, baud, &frac);
|
|
|
+ quot = serial8250_get_divisor(port, baud, &frac);
|
|
|
|
|
|
serial8250_set_divisor(port, baud, quot, frac);
|
|
|
serial_port_out(port, UART_LCR, up->lcr);
|