Commit 1fdc3106 authored by Alexander Shiyan's avatar Alexander Shiyan Committed by Greg Kroah-Hartman

serial: core: Make enable_ms() optional

This patch makes enable_ms() optional, so we can eliminate a lot of
empty enable_ms() implementations from driver code.
Signed-off-by: default avatarAlexander Shiyan <shc_work@mail.ru>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 953b53a7
...@@ -1050,6 +1050,15 @@ static int uart_do_autoconfig(struct tty_struct *tty,struct uart_state *state) ...@@ -1050,6 +1050,15 @@ static int uart_do_autoconfig(struct tty_struct *tty,struct uart_state *state)
return ret; return ret;
} }
static void uart_enable_ms(struct uart_port *uport)
{
/*
* Force modem status interrupts on
*/
if (uport->ops->enable_ms)
uport->ops->enable_ms(uport);
}
/* /*
* Wait for any of the 4 modem inputs (DCD,RI,DSR,CTS) to change * Wait for any of the 4 modem inputs (DCD,RI,DSR,CTS) to change
* - mask passed in arg for lines of interest * - mask passed in arg for lines of interest
...@@ -1073,11 +1082,7 @@ uart_wait_modem_status(struct uart_state *state, unsigned long arg) ...@@ -1073,11 +1082,7 @@ uart_wait_modem_status(struct uart_state *state, unsigned long arg)
*/ */
spin_lock_irq(&uport->lock); spin_lock_irq(&uport->lock);
memcpy(&cprev, &uport->icount, sizeof(struct uart_icount)); memcpy(&cprev, &uport->icount, sizeof(struct uart_icount));
uart_enable_ms(uport);
/*
* Force modem status interrupts on
*/
uport->ops->enable_ms(uport);
spin_unlock_irq(&uport->lock); spin_unlock_irq(&uport->lock);
add_wait_queue(&port->delta_msr_wait, &wait); add_wait_queue(&port->delta_msr_wait, &wait);
...@@ -1508,7 +1513,7 @@ static int uart_carrier_raised(struct tty_port *port) ...@@ -1508,7 +1513,7 @@ static int uart_carrier_raised(struct tty_port *port)
struct uart_port *uport = state->uart_port; struct uart_port *uport = state->uart_port;
int mctrl; int mctrl;
spin_lock_irq(&uport->lock); spin_lock_irq(&uport->lock);
uport->ops->enable_ms(uport); uart_enable_ms(uport);
mctrl = uport->ops->get_mctrl(uport); mctrl = uport->ops->get_mctrl(uport);
spin_unlock_irq(&uport->lock); spin_unlock_irq(&uport->lock);
if (mctrl & TIOCM_CAR) if (mctrl & TIOCM_CAR)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment