History

Merge tag 'tty-3.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty

Pull tty/serial fixes from Greg KH: "Here are 3 patches for 3.17-rc5. Two serial driver fixes that resolve some reported issues, and one new device id. All have been in linux-next just fine" * tag 'tty-3.17-rc5' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/tty: tty: xuartps: Fix tx_emtpy() callback tty/serial: at91: BUG: disable interrupts when !UART_ENABLE_MS() serial: 8250_dw: Add ACPI ID for Intel Braswell

Linus Torvalds committed 12 years ago

Commit 09db9d62 parents 90a3c48 6731af53 files · +44 −2Browse files

Unified · Split

3 files
  1. drivers/tty/serial/8250/8250_dw.c +1 −0
  2. drivers/tty/serial/atmel_serial.c +42 −1
  3. drivers/tty/serial/xilinx_uartps.c +1 −1
drivers/tty/serial/8250/8250_dw.c+1−0
@@ -540,6 +540,7 @@ static const struct acpi_device_id dw8250_acpi_match[] = { · 539 unmodified lines
540 { "INT3434", 0 },540 { "INT3434", 0 },
541 { "INT3435", 0 },541 { "INT3435", 0 },
542 { "80860F0A", 0 },542 { "80860F0A", 0 },
543 { "8086228A", 0 },
543 { },544 { },
544};545};
545MODULE_DEVICE_TABLE(acpi, dw8250_acpi_match);546MODULE_DEVICE_TABLE(acpi, dw8250_acpi_match);
drivers/tty/serial/atmel_serial.c+42−1
@@ -526,6 +526,45 @@ static void atmel_enable_ms(struct uart_port *port) · 525 unmodified lines
526 UART_PUT_IER(port, ier);526 UART_PUT_IER(port, ier);
527}527}
528 528
529/*
530 * Disable modem status interrupts
531 */
532static void atmel_disable_ms(struct uart_port *port)
533{
534 struct atmel_uart_port *atmel_port = to_atmel_uart_port(port);
535 uint32_t idr = 0;
536
537 /*
538 * Interrupt should not be disabled twice
539 */
540 if (!atmel_port->ms_irq_enabled)
541 return;
542
543 atmel_port->ms_irq_enabled = false;
544
545 if (atmel_port->gpio_irq[UART_GPIO_CTS] >= 0)
546 disable_irq(atmel_port->gpio_irq[UART_GPIO_CTS]);
547 else
548 idr |= ATMEL_US_CTSIC;
549
550 if (atmel_port->gpio_irq[UART_GPIO_DSR] >= 0)
551 disable_irq(atmel_port->gpio_irq[UART_GPIO_DSR]);
552 else
553 idr |= ATMEL_US_DSRIC;
554
555 if (atmel_port->gpio_irq[UART_GPIO_RI] >= 0)
556 disable_irq(atmel_port->gpio_irq[UART_GPIO_RI]);
557 else
558 idr |= ATMEL_US_RIIC;
559
560 if (atmel_port->gpio_irq[UART_GPIO_DCD] >= 0)
561 disable_irq(atmel_port->gpio_irq[UART_GPIO_DCD]);
562 else
563 idr |= ATMEL_US_DCDIC;
564
565 UART_PUT_IDR(port, idr);
566}
567
529/*568/*
530 * Control the transmission of a break signal569 * Control the transmission of a break signal
531 */570 */
@@ -1993,7 +2032,9 @@ static void atmel_set_termios(struct uart_port *port, struct ktermios *termios, · 1461 unmodified lines
1993 2032
1994 /* CTS flow-control and modem-status interrupts */2033 /* CTS flow-control and modem-status interrupts */
1995 if (UART_ENABLE_MS(port, termios->c_cflag))2034 if (UART_ENABLE_MS(port, termios->c_cflag))
1996 port->ops->enable_ms(port);2035 atmel_enable_ms(port);
2036 else
2037 atmel_disable_ms(port);
1997 2038
1998 spin_unlock_irqrestore(&port->lock, flags);2039 spin_unlock_irqrestore(&port->lock, flags);
1999}2040}
drivers/tty/serial/xilinx_uartps.c+1−1
@@ -581,7 +581,7 @@ static unsigned int cdns_uart_tx_empty(struct uart_port *port) · 580 unmodified lines
581{581{
582 unsigned int status;582 unsigned int status;
583 583
584 status = cdns_uart_readl(CDNS_UART_ISR_OFFSET) & CDNS_UART_IXR_TXEMPTY;584 status = cdns_uart_readl(CDNS_UART_SR_OFFSET) & CDNS_UART_SR_TXEMPTY;
585 return status ? TIOCSER_TEMT : 0;585 return status ? TIOCSER_TEMT : 0;
586}586}
587 587

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t