[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y1cos2dv.fsf@jogness.linutronix.de>
Date: Wed, 17 Jan 2024 11:09:24 +0106
From: John Ogness <john.ogness@...utronix.de>
To: "Chang, Junxiao" <junxiao.chang@...el.com>, "bigeasy@...utronix.de"
<bigeasy@...utronix.de>, "tglx@...utronix.de" <tglx@...utronix.de>,
"rostedt@...dmis.org" <rostedt@...dmis.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Cc: "Li, Hao3" <hao3.li@...el.com>, "Li, Lili" <lili.li@...el.com>, "Gao,
Jianfeng" <jianfeng.gao@...el.com>, "linux-rt-users@...r.kernel.org"
<linux-rt-users@...r.kernel.org>
Subject: RE: [PATCH] printk: nbcon: check uart port is nbcon or not in
nbcon_release
On 2024-01-17, "Chang, Junxiao" <junxiao.chang@...el.com> wrote:
> There are several serial ports in one Intel ADL hardware, they are
> enumerated as ttyS0, ttyS1, ttyS4, and so on. Multiple console options
> might be appended to kernel command line. For example,
> "console=ttyS0,115200n8 console=ttyS4,115200n8
> console=ttyS5,115200n8".
>
> In this case, several uarts "cons" pointers are same.
Typically a UART driver will register the console structure in the
driver's initcall(), which is only called once per driver. This is why
it is usually not possible to have multiple UART consoles.
If a driver _does_ allow registering consoles for multiple devices, then
it must allocate separate console structs for each registration.
Note that register_console() will generate a warning and abort if a
driver attempts to register the same console struct twice:
WARN(con == newcon, "console '%s%d' already registered\n",
con->name, con->index)
So I ask again. Please explain how this is possible.
John
Powered by blists - more mailing lists