aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLen Sorensen <lsorense@csclub.uwaterloo.ca>2007-05-08 03:26:33 -0400
committerLinus Torvalds <torvalds@woody.linux-foundation.org>2007-05-08 14:15:03 -0400
commite97cb3e28ce2fdd3b06a65f67d00462d86929008 (patch)
tree45a71a3d6b516fbf345836a6b2f7361b46fd5b41
parent3c04c27251c4d064f16846c305cbc1ff2f5b5fbe (diff)
Subject: jsm driver fix for linuxpps support
The jsm driver doesn't currently use the uart_handle_*_change helper functions, which are the obvious place for things like linuxpps to tie into (which it now does of course), and as a result the jsm driver can not be used with linuxpps and anything else that ties into the serial_core helper functions. This patch adds calls to these helper functions whenever the value they manage changes. That actual storage of the state is not modified since the jsm driver caches the current settings (The 8250 driver reads them everytime a user asks for the state), and only updates them whenever they change. Signed-off-by: Len Sorensen <lsorense@csclub.uwaterloo.ca> Cc: Scott H Kilau <Scott_Kilau@digi.com> Cc: Wendy Xiong <wendyx@us.ibm.com> Signed-off-by: Andrew Morton <akpm@linux-foundation.org> Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r--drivers/serial/jsm/jsm_neo.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/serial/jsm/jsm_neo.c b/drivers/serial/jsm/jsm_neo.c
index 8be8da37f629..b2d6f5b1a7c2 100644
--- a/drivers/serial/jsm/jsm_neo.c
+++ b/drivers/serial/jsm/jsm_neo.c
@@ -581,8 +581,13 @@ static void neo_parse_modem(struct jsm_channel *ch, u8 signals)
581 return; 581 return;
582 582
583 /* Scrub off lower bits. They signify delta's, which I don't care about */ 583 /* Scrub off lower bits. They signify delta's, which I don't care about */
584 msignals &= 0xf0; 584 /* Keep DDCD and DDSR though */
585 msignals &= 0xf8;
585 586
587 if (msignals & UART_MSR_DDCD)
588 uart_handle_dcd_change(&ch->uart_port, msignals & UART_MSR_DCD);
589 if (msignals & UART_MSR_DDSR)
590 uart_handle_cts_change(&ch->uart_port, msignals & UART_MSR_CTS);
586 if (msignals & UART_MSR_DCD) 591 if (msignals & UART_MSR_DCD)
587 ch->ch_mistat |= UART_MSR_DCD; 592 ch->ch_mistat |= UART_MSR_DCD;
588 else 593 else