[PATCH v2 0/2] Fixes for console command line ordering

Tony Lindgren
2024-06-13T12:51:49Z

Hi,

Recent changes to add support for DEVNAME:0.0 style consoles caused a
regression with the preferred console order where the last console on
the kernel command line is no longer the preferred console.

The following two changes fix the issue using Petr's suggestion that does
not involve calling __add_preferred_console() later on again, and adds
the deferred consoles to the console_cmdline[] directly to be updated
when the console is ready.

We revert the earlier printk related changes, and then add back the
DEVNAME:0.0 functionality based on Petr's code snippet. And we end up
reducing the code quite a bit too this way.

The reason we want DEVNAME:0.0 style consoles is it helps addressing the
console based on the connected serial port controller device rather than
using the hardcoded ttyS addressing. And that helps with issues related
to the console moving around after togging the HSUART option in the BIOS,
or when new ports are enabled in devicetree and aliases are not updated.

Regards,

Tony

Changes since v1:

- Revert the problem causing printk changes and switch to using the
solution based on Petr's suggestion and code snippet

Tony Lindgren (2):
printk: Revert add_preferred_console_match() related commits
printk: Add update_preferred_console()

drivers/tty/serial/serial_base_bus.c | 2 +-
include/linux/printk.h | 3 +-
kernel/printk/Makefile | 2 +-
kernel/printk/conopt.c | 146 ---------------------------
kernel/printk/console_cmdline.h | 7 +-
kernel/printk/printk.c | 96 ++++++++++++------
6 files changed, 69 insertions(+), 187 deletions(-)
delete mode 100644 kernel/printk/conopt.c

base-commit: 83a7eefedc9b56fe7bfeff13b6c7356688ffa670
--
2.45.2