Commit ef460db2 authored by Ilpo Järvinen's avatar Ilpo Järvinen Committed by Greg Kroah-Hartman

serial: 8250: Use defined IER bits

Instead of literal 0x0f, add a define for enabling all IER bits the
8250 driver is interested in.

Don't make the define for combined flags part of UAPI.
Signed-off-by: default avatarIlpo Järvinen <ilpo.jarvinen@linux.intel.com>
Link: https://lore.kernel.org/r/20221125130509.8482-2-ilpo.jarvinen@linux.intel.comSigned-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
parent 98a59cd2
...@@ -1236,14 +1236,14 @@ static void autoconfig(struct uart_8250_port *up) ...@@ -1236,14 +1236,14 @@ static void autoconfig(struct uart_8250_port *up)
* Mask out IER[7:4] bits for test as some UARTs (e.g. TL * Mask out IER[7:4] bits for test as some UARTs (e.g. TL
* 16C754B) allow only to modify them if an EFR bit is set. * 16C754B) allow only to modify them if an EFR bit is set.
*/ */
scratch2 = serial_in(up, UART_IER) & 0x0f; scratch2 = serial_in(up, UART_IER) & UART_IER_ALL_INTR;
serial_out(up, UART_IER, 0x0F); serial_out(up, UART_IER, UART_IER_ALL_INTR);
#ifdef __i386__ #ifdef __i386__
outb(0, 0x080); outb(0, 0x080);
#endif #endif
scratch3 = serial_in(up, UART_IER) & 0x0f; scratch3 = serial_in(up, UART_IER) & UART_IER_ALL_INTR;
serial_out(up, UART_IER, scratch); serial_out(up, UART_IER, scratch);
if (scratch2 != 0 || scratch3 != 0x0F) { if (scratch2 != 0 || scratch3 != UART_IER_ALL_INTR) {
/* /*
* We failed; there's nothing here * We failed; there's nothing here
*/ */
...@@ -1394,7 +1394,7 @@ static void autoconfig_irq(struct uart_8250_port *up) ...@@ -1394,7 +1394,7 @@ static void autoconfig_irq(struct uart_8250_port *up)
serial8250_out_MCR(up, serial8250_out_MCR(up,
UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2); UART_MCR_DTR | UART_MCR_RTS | UART_MCR_OUT2);
} }
serial_out(up, UART_IER, 0x0f); /* enable all intrs */ serial_out(up, UART_IER, UART_IER_ALL_INTR);
serial_in(up, UART_LSR); serial_in(up, UART_LSR);
serial_in(up, UART_RX); serial_in(up, UART_RX);
serial_in(up, UART_IIR); serial_in(up, UART_IIR);
......
...@@ -12,6 +12,11 @@ ...@@ -12,6 +12,11 @@
#include <uapi/linux/serial.h> #include <uapi/linux/serial.h>
#include <uapi/linux/serial_reg.h> #include <uapi/linux/serial_reg.h>
#define UART_IER_ALL_INTR (UART_IER_MSI | \
UART_IER_RLSI | \
UART_IER_THRI | \
UART_IER_RDI)
/* Helper for dealing with UART_LCR_WLEN* defines */ /* Helper for dealing with UART_LCR_WLEN* defines */
#define UART_LCR_WLEN(x) ((x) - 5) #define UART_LCR_WLEN(x) ((x) - 5)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment