Hi! > From: Maciej W. Rozycki <macro@xxxxxxxxxxx> > > [ Upstream commit 9906890c89e4dbd900ed87ad3040080339a7f411 ] > > A SERIAL_8250_16550A_VARIANTS configuration option has been recently > defined that lets one request the 8250 driver not to probe for 16550A > device features so as to reduce the driver's device startup time in > virtual machines. > > Some actual hardware devices require these features to have been fully > determined however for their driver to work correctly, so define a flag > to let drivers request full 16550A feature probing on a device-by-device > basis if required regardless of the SERIAL_8250_16550A_VARIANTS option > setting chosen. > > Fixes: dc56ecb81a0a ("serial: 8250: Support disabling mdelay-filled probes of 16550A variants") > Cc: stable@xxxxxxxxxxxxxxx # v5.6+ You said you'd drop this. It is still unused in 5.10.155, as flag is never set. Best regards, Pavel > diff --git a/drivers/tty/serial/8250/8250_port.c b/drivers/tty/serial/8250/8250_port.c > index 8b3756e4bb05..f648fd1d7548 100644 > --- a/drivers/tty/serial/8250/8250_port.c > +++ b/drivers/tty/serial/8250/8250_port.c > @@ -1023,7 +1023,8 @@ static void autoconfig_16550a(struct uart_8250_port *up) > up->port.type = PORT_16550A; > up->capabilities |= UART_CAP_FIFO; > > - if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS)) > + if (!IS_ENABLED(CONFIG_SERIAL_8250_16550A_VARIANTS) && > + !(up->port.flags & UPF_FULL_PROBE)) > return; > > /* > diff --git a/include/linux/serial_core.h b/include/linux/serial_core.h > index 59a8caf3230a..6df4c3356ae6 100644 > --- a/include/linux/serial_core.h > +++ b/include/linux/serial_core.h > @@ -100,7 +100,7 @@ struct uart_icount { > __u32 buf_overrun; > }; > > -typedef unsigned int __bitwise upf_t; > +typedef u64 __bitwise upf_t; > typedef unsigned int __bitwise upstat_t; > > struct uart_port { > @@ -207,6 +207,7 @@ struct uart_port { > #define UPF_FIXED_PORT ((__force upf_t) (1 << 29)) > #define UPF_DEAD ((__force upf_t) (1 << 30)) > #define UPF_IOREMAP ((__force upf_t) (1 << 31)) > +#define UPF_FULL_PROBE ((__force upf_t) (1ULL << 32)) > > #define __UPF_CHANGE_MASK 0x17fff > #define UPF_CHANGE_MASK ((__force upf_t) __UPF_CHANGE_MASK) -- DENX Software Engineering GmbH, Managing Director: Wolfgang Denk HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Attachment:
signature.asc
Description: PGP signature