Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

sc16is7xx: implemented set_mctrl

Add support for manual setting the modem control lines.

Signed-off-by: Maarten Brock <m.brock@vanmierlo.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

authored by

Maarten Brock and committed by
Greg Kroah-Hartman
b7dfdea8 dd9b5588

+10 -2
+10 -2
drivers/tty/serial/sc16is7xx.c
··· 761 761 memset(&one->config, 0, sizeof(one->config)); 762 762 spin_unlock_irqrestore(&one->port.lock, irqflags); 763 763 764 - if (config.flags & SC16IS7XX_RECONF_MD) 764 + if (config.flags & SC16IS7XX_RECONF_MD) { 765 765 sc16is7xx_port_update(&one->port, SC16IS7XX_MCR_REG, 766 766 SC16IS7XX_MCR_LOOP_BIT, 767 767 (one->port.mctrl & TIOCM_LOOP) ? 768 768 SC16IS7XX_MCR_LOOP_BIT : 0); 769 - 769 + sc16is7xx_port_update(&one->port, SC16IS7XX_MCR_REG, 770 + SC16IS7XX_MCR_RTS_BIT, 771 + (one->port.mctrl & TIOCM_RTS) ? 772 + SC16IS7XX_MCR_RTS_BIT : 0); 773 + sc16is7xx_port_update(&one->port, SC16IS7XX_MCR_REG, 774 + SC16IS7XX_MCR_DTR_BIT, 775 + (one->port.mctrl & TIOCM_DTR) ? 776 + SC16IS7XX_MCR_DTR_BIT : 0); 777 + } 770 778 if (config.flags & SC16IS7XX_RECONF_IER) 771 779 sc16is7xx_port_update(&one->port, SC16IS7XX_IER_REG, 772 780 config.ier_clear, 0);