From: Adam Simonelli <adamsimonelli@gmail.com>
To: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Cc: linux-serial@vger.kernel.org, linux-kernel@vger.kernel.org,
Jiri Slaby <jirislaby@kernel.org>
Subject: Re: [PATCH v2 1/2] ttynull: Add an option to allow ttynull to be used as a console device
Date: Sun, 23 Feb 2025 00:08:49 -0500 [thread overview]
Message-ID: <4305907.CQOukoFCf9@nerdopolis2> (raw)
In-Reply-To: <2025021920-uproot-antsy-e2c7@gregkh>
On Wednesday, February 19, 2025 9:00:07 AM EST Greg Kroah-Hartman wrote:
> On Sun, Feb 16, 2025 at 11:07:47PM -0500, adamsimonelli@gmail.com wrote:
> > From: Adam Simonelli <adamsimonelli@gmail.com>
> >
> > Add a config option CONFIG_NULL_TTY_CONSOLE that will have ttynull be
> > initialized by console_initcall() and selected as a possible console
> > device.
> >
> > Signed-off-by: Adam Simonelli <adamsimonelli@gmail.com>
> > ---
> > drivers/tty/Kconfig | 18 +++++++++++++++++-
> > drivers/tty/ttynull.c | 16 +++++++++++++++-
> > 2 files changed, 32 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/tty/Kconfig b/drivers/tty/Kconfig
> > index 63a494d36a1f..afe4e7722d4c 100644
> > --- a/drivers/tty/Kconfig
> > +++ b/drivers/tty/Kconfig
> > @@ -383,7 +383,23 @@ config NULL_TTY
> > available or desired.
> >
> > In order to use this driver, you should redirect the console to this
> > - TTY, or boot the kernel with console=ttynull.
> > + TTY, boot the kernel with console=ttynull, or enable
> > + CONFIG_NULL_TTY_CONSOLE.
> > +
> > + If unsure, say N.
> > +
> > +config NULL_TTY_CONSOLE
> > + bool "Supports /dev/ttynull as a console automatically"
> > + depends on NULL_TTY=y && !VT_CONSOLE
> > + help
> > + Say Y here if you want the NULL TTY to be used as a /dev/console
> > + device.
> > +
> > + This is useful for userspace applications that expect a working
> > + console device, without changing the kernel boot options, such as a
> > + distribuition or environment that historically had CONFIG_VT_CONSOLE
> > + enabled, and have now disabled it, but still need /dev/console to be
> > + working for userspace applications.
> >
> > If unsure, say N.
> >
> > diff --git a/drivers/tty/ttynull.c b/drivers/tty/ttynull.c
> > index 6b2f7208b564..8ba629ae426b 100644
> > --- a/drivers/tty/ttynull.c
> > +++ b/drivers/tty/ttynull.c
> > @@ -57,6 +57,10 @@ static struct tty_driver *ttynull_device(struct console *c, int *index)
> > static struct console ttynull_console = {
> > .name = "ttynull",
> > .device = ttynull_device,
> > +#ifdef CONFIG_NULL_TTY_CONSOLE
> > + .index = -1,
> > + .flags = CON_PRINTBUFFER,
> > +#endif
>
> There's no way to do this without #ifdef in the .c files?
>
> > };
> >
Maybe IS_ENABLED() is better?
> > static int __init ttynull_init(void)
> > @@ -90,10 +94,20 @@ static int __init ttynull_init(void)
> > }
> >
> > ttynull_driver = driver;
> > - register_console(&ttynull_console);
> > + if (!console_is_registered(&ttynull_console))
> > + register_console(&ttynull_console);
> > +
>
> Why do you register this twice?
I thought I had to add that in the console_initcall function because other
drivers seem to have that.
I want it to still work when it is just CONFIG_NULL_TTY without
CONFIG_NULL_TTY_CONSOLE, so I will guard both with console_is_registered
>
> > + return 0;
> > +}
> >
> > +#ifdef CONFIG_NULL_TTY_CONSOLE
> > +static int __init ttynull_register(void)
> > +{
> > + register_console(&ttynull_console);
>
> Here, why is this registered again?
>
> You should only have to do this once, and not need to check before
> trying again, right?
>
> thanks,
>
OK, I will guard both.
> greg k-h
>
next prev parent reply other threads:[~2025-02-23 5:08 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-17 4:07 [PATCH v2 0/2] Optionally allow ttynull to be selected as a default console adamsimonelli
2025-02-17 4:07 ` [PATCH v2 1/2] ttynull: Add an option to allow ttynull to be used as a console device adamsimonelli
2025-02-19 14:00 ` Greg Kroah-Hartman
2025-02-23 5:08 ` Adam Simonelli [this message]
2025-02-17 4:07 ` [PATCH v2 2/2] tty: Change order of ttynull to be loaded sooner adamsimonelli
2025-02-19 14:03 ` Greg Kroah-Hartman
2025-02-23 4:56 ` Adam Simonelli
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4305907.CQOukoFCf9@nerdopolis2 \
--to=adamsimonelli@gmail.com \
--cc=gregkh@linuxfoundation.org \
--cc=jirislaby@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-serial@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.