aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/tty/serial/omap-serial.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/omap-serial.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/omap-serial.c')
-rw-r--r--drivers/tty/serial/omap-serial.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/drivers/tty/serial/omap-serial.c b/drivers/tty/serial/omap-serial.c
index 7754053deeda..53d59e9b944a 100644
--- a/drivers/tty/serial/omap-serial.c
+++ b/drivers/tty/serial/omap-serial.c
@@ -1,3 +1,4 @@
1// SPDX-License-Identifier: GPL-2.0+
1/* 2/*
2 * Driver for OMAP-UART controller. 3 * Driver for OMAP-UART controller.
3 * Based on drivers/serial/8250.c 4 * Based on drivers/serial/8250.c
@@ -8,11 +9,6 @@
8 * Govindraj R <govindraj.raja@ti.com> 9 * Govindraj R <govindraj.raja@ti.com>
9 * Thara Gopinath <thara@ti.com> 10 * Thara Gopinath <thara@ti.com>
10 * 11 *
11 * This program is free software; you can redistribute it and/or modify
12 * it under the terms of the GNU General Public License as published by
13 * the Free Software Foundation; either version 2 of the License, or
14 * (at your option) any later version.
15 *
16 * Note: This driver is made separate from 8250 driver as we cannot 12 * Note: This driver is made separate from 8250 driver as we cannot
17 * over load 8250 driver with omap platform specific configuration for 13 * over load 8250 driver with omap platform specific configuration for
18 * features like DMA, it makes easier to implement features like DMA and 14 * features like DMA, it makes easier to implement features like DMA and
@@ -610,7 +606,7 @@ static irqreturn_t serial_omap_irq(int irq, void *dev_id)
610 default: 606 default:
611 break; 607 break;
612 } 608 }
613 } while (!(iir & UART_IIR_NO_INT) && max_count--); 609 } while (max_count--);
614 610
615 spin_unlock(&up->port.lock); 611 spin_unlock(&up->port.lock);
616 612
@@ -693,7 +689,7 @@ static void serial_omap_set_mctrl(struct uart_port *port, unsigned int mctrl)
693 if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS)) 689 if ((mctrl & TIOCM_RTS) && (port->status & UPSTAT_AUTORTS))
694 up->efr |= UART_EFR_RTS; 690 up->efr |= UART_EFR_RTS;
695 else 691 else
696 up->efr &= UART_EFR_RTS; 692 up->efr &= ~UART_EFR_RTS;
697 serial_out(up, UART_EFR, up->efr); 693 serial_out(up, UART_EFR, up->efr);
698 serial_out(up, UART_LCR, lcr); 694 serial_out(up, UART_LCR, lcr);
699 695
@@ -1606,7 +1602,6 @@ static int serial_omap_probe_rs485(struct uart_omap_port *up,
1606 struct device_node *np) 1602 struct device_node *np)
1607{ 1603{
1608 struct serial_rs485 *rs485conf = &up->port.rs485; 1604 struct serial_rs485 *rs485conf = &up->port.rs485;
1609 u32 rs485_delay[2];
1610 enum of_gpio_flags flags; 1605 enum of_gpio_flags flags;
1611 int ret; 1606 int ret;
1612 1607
@@ -1637,17 +1632,7 @@ static int serial_omap_probe_rs485(struct uart_omap_port *up,
1637 up->rts_gpio = -EINVAL; 1632 up->rts_gpio = -EINVAL;
1638 } 1633 }
1639 1634
1640 if (of_property_read_u32_array(np, "rs485-rts-delay", 1635 of_get_rs485_mode(np, rs485conf);
1641 rs485_delay, 2) == 0) {
1642 rs485conf->delay_rts_before_send = rs485_delay[0];
1643 rs485conf->delay_rts_after_send = rs485_delay[1];
1644 }
1645
1646 if (of_property_read_bool(np, "rs485-rx-during-tx"))
1647 rs485conf->flags |= SER_RS485_RX_DURING_TX;
1648
1649 if (of_property_read_bool(np, "linux,rs485-enabled-at-boot-time"))
1650 rs485conf->flags |= SER_RS485_ENABLED;
1651 1636
1652 return 0; 1637 return 0;
1653} 1638}