aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/jsm/jsm_tty.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2017-11-14 00:05:31 -0500
committerLinus Torvalds <torvalds@linux-foundation.org>2017-11-14 00:05:31 -0500
commitfb0255fb2941ef6f21742b2bc146d6b9aef4fedc (patch)
tree8334f3485152b1c887ddfe04ba9a95c8a704481c /drivers/tty/serial/jsm/jsm_tty.c
parent449fcf3ab0baf3dde9952385e6789f2ca10c3980 (diff)
parent57f5d648c45c3d40a3257c06629c14fd53c383bc (diff)
Merge tag 'tty-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty
Pull tty/serial updates from Greg KH: "Here is the big tty/serial driver pull request for 4.15-rc1. Lots of serial driver updates in here, some small vt cleanups, and a raft of SPDX and license boilerplate cleanups, messing up the diffstat a bit. Nothing major, with no realy functional changes except better hardware support for some platforms. All of these have been in linux-next for a while with no reported issues" * tag 'tty-4.15-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: (110 commits) tty: ehv_bytechan: fix spelling mistake tty: serial: meson: allow baud-rates lower than 9600 serial: 8250_fintek: Fix crash with baud rate B0 serial: 8250_fintek: Disable delays for ports != 0 serial: 8250_fintek: Return -EINVAL on invalid configuration tty: Remove redundant license text tty: serdev: Remove redundant license text tty: hvc: Remove redundant license text tty: serial: Remove redundant license text tty: add SPDX identifiers to all remaining files in drivers/tty/ tty: serial: jsm: remove redundant pointer ts tty: serial: jsm: add space before the open parenthesis '(' tty: serial: jsm: fix coding style tty: serial: jsm: delete space between function name and '(' tty: serial: jsm: add blank line after declarations tty: serial: jsm: change the type of local variable tty: serial: imx: remove dead code imx_dma_rxint tty: serial: imx: disable ageing timer interrupt if dma in use serial: 8250: fix potential deadlock in rs485-mode serial: m32r_sio: Drop redundant .data assignment ...
Diffstat (limited to 'drivers/tty/serial/jsm/jsm_tty.c')
-rw-r--r--drivers/tty/serial/jsm/jsm_tty.c27
1 files changed, 8 insertions, 19 deletions
diff --git a/drivers/tty/serial/jsm/jsm_tty.c b/drivers/tty/serial/jsm/jsm_tty.c
index ec7d8383900f..469927d37b41 100644
--- a/drivers/tty/serial/jsm/jsm_tty.c
+++ b/drivers/tty/serial/jsm/jsm_tty.c
@@ -1,18 +1,9 @@
1// SPDX-License-Identifier: GPL-2.0+
1/************************************************************************ 2/************************************************************************
2 * Copyright 2003 Digi International (www.digi.com) 3 * Copyright 2003 Digi International (www.digi.com)
3 * 4 *
4 * Copyright (C) 2004 IBM Corporation. All rights reserved. 5 * Copyright (C) 2004 IBM Corporation. All rights reserved.
5 * 6 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2, or (at your option)
9 * any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY, EXPRESS OR IMPLIED; without even the
13 * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
14 * PURPOSE. See the GNU General Public License for more details.
15 *
16 * Contact Information: 7 * Contact Information:
17 * Scott H Kilau <Scott_Kilau@digi.com> 8 * Scott H Kilau <Scott_Kilau@digi.com>
18 * Ananda Venkatarman <mansarov@us.ibm.com> 9 * Ananda Venkatarman <mansarov@us.ibm.com>
@@ -36,7 +27,7 @@ static void jsm_carrier(struct jsm_channel *ch);
36static inline int jsm_get_mstat(struct jsm_channel *ch) 27static inline int jsm_get_mstat(struct jsm_channel *ch)
37{ 28{
38 unsigned char mstat; 29 unsigned char mstat;
39 unsigned result; 30 int result;
40 31
41 jsm_dbg(IOCTL, &ch->ch_bd->pci_dev, "start\n"); 32 jsm_dbg(IOCTL, &ch->ch_bd->pci_dev, "start\n");
42 33
@@ -124,6 +115,7 @@ static void jsm_tty_set_mctrl(struct uart_port *port, unsigned int mctrl)
124static void jsm_tty_write(struct uart_port *port) 115static void jsm_tty_write(struct uart_port *port)
125{ 116{
126 struct jsm_channel *channel; 117 struct jsm_channel *channel;
118
127 channel = container_of(port, struct jsm_channel, uart_port); 119 channel = container_of(port, struct jsm_channel, uart_port);
128 channel->ch_bd->bd_ops->copy_data_from_queue_to_uart(channel); 120 channel->ch_bd->bd_ops->copy_data_from_queue_to_uart(channel);
129} 121}
@@ -275,14 +267,12 @@ static int jsm_tty_open(struct uart_port *port)
275static void jsm_tty_close(struct uart_port *port) 267static void jsm_tty_close(struct uart_port *port)
276{ 268{
277 struct jsm_board *bd; 269 struct jsm_board *bd;
278 struct ktermios *ts;
279 struct jsm_channel *channel = 270 struct jsm_channel *channel =
280 container_of(port, struct jsm_channel, uart_port); 271 container_of(port, struct jsm_channel, uart_port);
281 272
282 jsm_dbg(CLOSE, &channel->ch_bd->pci_dev, "start\n"); 273 jsm_dbg(CLOSE, &channel->ch_bd->pci_dev, "start\n");
283 274
284 bd = channel->ch_bd; 275 bd = channel->ch_bd;
285 ts = &port->state->port.tty->termios;
286 276
287 channel->ch_flags &= ~(CH_STOPI); 277 channel->ch_flags &= ~(CH_STOPI);
288 278
@@ -473,12 +463,11 @@ int jsm_uart_port_init(struct jsm_board *brd)
473 } else 463 } else
474 set_bit(line, linemap); 464 set_bit(line, linemap);
475 brd->channels[i]->uart_port.line = line; 465 brd->channels[i]->uart_port.line = line;
476 rc = uart_add_one_port (&jsm_uart_driver, &brd->channels[i]->uart_port); 466 rc = uart_add_one_port(&jsm_uart_driver, &brd->channels[i]->uart_port);
477 if (rc){ 467 if (rc) {
478 printk(KERN_INFO "jsm: Port %d failed. Aborting...\n", i); 468 printk(KERN_INFO "jsm: Port %d failed. Aborting...\n", i);
479 return rc; 469 return rc;
480 } 470 } else
481 else
482 printk(KERN_INFO "jsm: Port %d added\n", i); 471 printk(KERN_INFO "jsm: Port %d added\n", i);
483 } 472 }
484 473
@@ -541,7 +530,7 @@ void jsm_input(struct jsm_channel *ch)
541 tp = port->tty; 530 tp = port->tty;
542 531
543 bd = ch->ch_bd; 532 bd = ch->ch_bd;
544 if(!bd) 533 if (!bd)
545 return; 534 return;
546 535
547 spin_lock_irqsave(&ch->ch_lock, lock_flags); 536 spin_lock_irqsave(&ch->ch_lock, lock_flags);
@@ -781,7 +770,7 @@ void jsm_check_queue_flow_control(struct jsm_channel *ch)
781 if (qleft < 256) { 770 if (qleft < 256) {
782 /* HWFLOW */ 771 /* HWFLOW */
783 if (ch->ch_c_cflag & CRTSCTS) { 772 if (ch->ch_c_cflag & CRTSCTS) {
784 if(!(ch->ch_flags & CH_RECEIVER_OFF)) { 773 if (!(ch->ch_flags & CH_RECEIVER_OFF)) {
785 bd_ops->disable_receiver(ch); 774 bd_ops->disable_receiver(ch);
786 ch->ch_flags |= (CH_RECEIVER_OFF); 775 ch->ch_flags |= (CH_RECEIVER_OFF);
787 jsm_dbg(READ, &ch->ch_bd->pci_dev, 776 jsm_dbg(READ, &ch->ch_bd->pci_dev,