mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
tty: Replace ASYNC_CHECK_CD and update atomically
Replace ASYNC_CHECK_CD bit in the tty_port::flags field with TTY_PORT_CHECK_CD bit in the tty_port::iflags field. Introduce helpers tty_port_set_check_carrier() and tty_port_check_carrier() to abstract the atomic bit ops. Signed-off-by: Peter Hurley <[email protected]> Signed-off-by: Greg Kroah-Hartman <[email protected]>
This commit is contained in:
parent
807c8d81f4
commit
2d68655d15
13 changed files with 39 additions and 64 deletions
|
|
@ -999,7 +999,7 @@ void ircomm_tty_check_modem_status(struct ircomm_tty_cb *self)
|
|||
if (status & IRCOMM_DCE_DELTA_ANY) {
|
||||
/*wake_up_interruptible(&self->delta_msr_wait);*/
|
||||
}
|
||||
if ((self->port.flags & ASYNC_CHECK_CD) && (status & IRCOMM_DELTA_CD)) {
|
||||
if (tty_port_check_carrier(&self->port) && (status & IRCOMM_DELTA_CD)) {
|
||||
pr_debug("%s(), ircomm%d CD now %s...\n", __func__ , self->line,
|
||||
(status & IRCOMM_CD) ? "on" : "off");
|
||||
|
||||
|
|
@ -1255,7 +1255,7 @@ static void ircomm_tty_line_info(struct ircomm_tty_cb *self, struct seq_file *m)
|
|||
seq_printf(m, "%cASYNC_CTS_FLOW", sep);
|
||||
sep = '|';
|
||||
}
|
||||
if (self->port.flags & ASYNC_CHECK_CD) {
|
||||
if (tty_port_check_carrier(&self->port)) {
|
||||
seq_printf(m, "%cASYNC_CHECK_CD", sep);
|
||||
sep = '|';
|
||||
}
|
||||
|
|
|
|||
|
|
@ -968,7 +968,7 @@ static int ircomm_tty_state_ready(struct ircomm_tty_cb *self,
|
|||
ircomm_tty_next_state(self, IRCOMM_TTY_SEARCH);
|
||||
ircomm_tty_start_watchdog_timer(self, 3*HZ);
|
||||
|
||||
if (self->port.flags & ASYNC_CHECK_CD) {
|
||||
if (tty_port_check_carrier(&self->port)) {
|
||||
/* Drop carrier */
|
||||
self->settings.dce = IRCOMM_DELTA_CD;
|
||||
ircomm_tty_check_modem_status(self);
|
||||
|
|
|
|||
|
|
@ -96,10 +96,7 @@ static void ircomm_tty_change_speed(struct ircomm_tty_cb *self,
|
|||
} else {
|
||||
self->settings.flow_control &= ~IRCOMM_RTS_CTS_IN;
|
||||
}
|
||||
if (cflag & CLOCAL)
|
||||
self->port.flags &= ~ASYNC_CHECK_CD;
|
||||
else
|
||||
self->port.flags |= ASYNC_CHECK_CD;
|
||||
tty_port_set_check_carrier(&self->port, ~cflag & CLOCAL);
|
||||
#if 0
|
||||
/*
|
||||
* Set up parity check flag
|
||||
|
|
|
|||
Loading…
Reference in a new issue