Re: [PATCH v2] x86/boot: use BASE_BAUD and DEFAULT_SERIAL_PORT

From: Thorsten Blum

Date: Thu Jun 04 2026 - 11:31:53 EST


Gentle ping?

On Fri, May 15, 2026 at 01:10:40PM +0200, Thorsten Blum wrote:
> Replace the hard-coded divisor and ttyS0 port with the existing
> BASE_BAUD and DEFAULT_SERIAL_PORT macros.
>
> In parse_earlyprintk(), assign port directly and drop the redundant
> index variable as well as the bases array to simplify the code.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@xxxxxxxxx>
> ---
> Changes in v2:
> - Drop patch 1/2 from the series after feedback from Dave
> - v1: https://lore.kernel.org/lkml/20260411153449.69384-4-thorsten.blum@xxxxxxxxx/
> ---
> arch/x86/boot/early_serial_console.c | 13 +++++--------
> 1 file changed, 5 insertions(+), 8 deletions(-)
>
> diff --git a/arch/x86/boot/early_serial_console.c b/arch/x86/boot/early_serial_console.c
> index 023bf1c3de8b..caf481cdd415 100644
> --- a/arch/x86/boot/early_serial_console.c
> +++ b/arch/x86/boot/early_serial_console.c
> @@ -22,6 +22,7 @@
> #define DLH 1 /* Divisor latch High */
>
> #define DEFAULT_BAUD 9600
> +#define BASE_BAUD (1843200/16)
>
> static void early_serial_init(int port, int baud)
> {
> @@ -33,7 +34,7 @@ static void early_serial_init(int port, int baud)
> outb(0, port + FCR); /* no fifo */
> outb(0x3, port + MCR); /* DTR + RTS */
>
> - divisor = 115200 / baud;
> + divisor = BASE_BAUD / baud;
> c = inb(port + LCR);
> outb(c | DLAB, port + LCR);
> outb(divisor & 0xff, port + DLL);
> @@ -74,16 +75,13 @@ static void parse_earlyprintk(void)
> else
> pos = e - arg;
> } else if (!strncmp(arg + pos, "ttyS", 4)) {
> - static const int bases[] = { 0x3f8, 0x2f8 };
> - int idx = 0;
> -
> /* += strlen("ttyS"); */
> pos += 4;
>
> if (arg[pos++] == '1')
> - idx = 1;
> -
> - port = bases[idx];
> + port = 0x2f8; /* ttyS1 */
> + else
> + port = DEFAULT_SERIAL_PORT;
> }
>
> if (arg[pos] == ',')
> @@ -98,7 +96,6 @@ static void parse_earlyprintk(void)
> early_serial_init(port, baud);
> }
>
> -#define BASE_BAUD (1843200/16)
> static unsigned int probe_baud(int port)
> {
> unsigned char lcr, dll, dlh;