OSDN Git Service

serial: core: Make enable_ms() optional
[sagit-ice-cold/kernel_xiaomi_msm8998.git] / drivers / tty / serial / serial_core.c
index fbf6c5a..a0e2f9d 100644 (file)
@@ -1050,6 +1050,15 @@ static int uart_do_autoconfig(struct tty_struct *tty,struct uart_state *state)
        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
  * - mask passed in arg for lines of interest
@@ -1073,11 +1082,7 @@ uart_wait_modem_status(struct uart_state *state, unsigned long arg)
         */
        spin_lock_irq(&uport->lock);
        memcpy(&cprev, &uport->icount, sizeof(struct uart_icount));
-
-       /*
-        * Force modem status interrupts on
-        */
-       uport->ops->enable_ms(uport);
+       uart_enable_ms(uport);
        spin_unlock_irq(&uport->lock);
 
        add_wait_queue(&port->delta_msr_wait, &wait);
@@ -1508,7 +1513,7 @@ static int uart_carrier_raised(struct tty_port *port)
        struct uart_port *uport = state->uart_port;
        int mctrl;
        spin_lock_irq(&uport->lock);
-       uport->ops->enable_ms(uport);
+       uart_enable_ms(uport);
        mctrl = uport->ops->get_mctrl(uport);
        spin_unlock_irq(&uport->lock);
        if (mctrl & TIOCM_CAR)