From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Linus Torvalds <torvalds@linux-foundation.org>
Cc: David Woodhouse <dwmw2@infradead.org>,
David Brownell <david-b@pacbell.net>, Ingo Molnar <mingo@elte.hu>,
David VomLehn <dvomlehn@cisco.com>,
Arjan van de Ven <arjan@infradead.org>,
"H. Peter Anvin" <hpa@zytor.com>,
Thomas Gleixner <tglx@linutronix.de>,
Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
Linux USB Mailing List <linux-usb@vger.kernel.org>,
Linux Embedded Mailing List <linux-embedded@vger.kernel.org>,
Andrew Morton <akpm@linux-foundation.org>
Subject: Re: Wait for console to become available, v3.2
Date: Tue, 21 Apr 2009 20:25:01 +0100 [thread overview]
Message-ID: <20090421202501.26a44f9d@lxorguk.ukuu.org.uk> (raw)
In-Reply-To: <alpine.LFD.2.00.0904211016190.2199@localhost.localdomain>
> > failing to open it, why can't we make __tty_open() give you a dummy tty
> > driver which is basically equivalent to /dev/null? And then 'replace' it
> > with the real console driver if/when that later gets registered? The
> > latter will be a high-caffeine job, but surely not impossible?
>
> This sounds like a good option.
Don't confuse "/dev/console" and "the console device" in printk terms.
The two are not the same thing and the latter is subject to stuff like
redirection.
> thing, but it should be possible to just do something like
>
> static struct tty_driver console_driver;
No - a console device can fail to open so you need to try the next one in
that situation. Some platforms use this feature.
> Anybody want to try it? Just make it ignore any IO if there are no
> registered consoles. The patch shouldn't even be all that big, I suspect.
It will work, but on its own it won't actually fix the problem people
have, which is wanting to wait for a real console to appear. Extending it
to sleep (if not O_NDELAY) and loop back through the list when the list
changes would however do the trick, that or a tty device that buffers
then spews into the real device when it appears.
Definitely the right path, and we almost have every tty device in
existance containing a struct tty_port, at which point it gets even
cleaner.
The printk() console needs to buffer up data and replay it but we already
pretty much do what is needed even for vt consoles because the fb isn't
ready before the first printk.
next prev parent reply other threads:[~2009-04-21 19:27 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-04-20 23:40 David VomLehn
2009-04-21 6:43 ` Ingo Molnar
2009-04-21 7:13 ` David Brownell
2009-04-21 8:03 ` Ingo Molnar
2009-04-21 17:11 ` David Woodhouse
2009-04-21 17:29 ` David VomLehn
2009-04-21 17:37 ` Linus Torvalds
2009-04-21 17:59 ` David VomLehn
2009-04-21 17:41 ` David Woodhouse
2009-04-21 17:31 ` Linus Torvalds
2009-04-21 19:25 ` Alan Cox [this message]
2009-04-21 23:17 ` David VomLehn
2009-04-22 8:25 ` Jamie Lokier
2009-04-22 9:11 ` Alan Cox
2009-04-22 10:39 ` Jamie Lokier
2009-04-21 13:35 ` Arjan van de Ven
2009-04-21 13:50 ` Ingo Molnar
2009-04-21 14:05 ` Jamie Lokier
2009-04-21 14:26 ` Ingo Molnar
2009-04-21 14:37 ` Alan Cox
2009-04-22 8:22 ` Jamie Lokier
2009-04-22 9:13 ` Alan Cox
2009-04-21 16:42 ` David VomLehn
2009-04-21 14:36 ` Alan Stern
2009-04-21 16:52 ` David VomLehn
2009-04-21 19:09 ` Alan Stern
2009-04-21 23:08 ` David VomLehn
2009-04-22 15:40 ` Alan Stern
2009-04-22 20:54 ` David VomLehn
2009-04-22 21:08 ` Alan Cox
2009-04-22 21:24 ` Alan Stern
2009-04-24 0:35 ` David VomLehn
2009-04-24 19:20 ` Alan Stern
2009-04-24 21:32 ` David VomLehn
2009-04-24 22:19 ` Jamie Lokier
2009-04-24 23:10 ` David VomLehn
2009-04-25 1:41 ` Jamie Lokier
2009-04-25 3:11 ` Alan Stern
2009-04-26 19:52 ` Jamie Lokier
2009-04-26 21:20 ` Alan Stern
2009-04-26 21:37 ` Jamie Lokier
2009-04-26 22:36 ` Kay Sievers
2009-04-26 23:12 ` Jamie Lokier
2009-04-26 23:23 ` Kay Sievers
2009-04-26 23:46 ` Jamie Lokier
2009-04-26 17:55 ` David VomLehn
2009-04-22 5:35 ` David VomLehn
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=20090421202501.26a44f9d@lxorguk.ukuu.org.uk \
--to=alan@lxorguk.ukuu.org.uk \
--cc=akpm@linux-foundation.org \
--cc=arjan@infradead.org \
--cc=david-b@pacbell.net \
--cc=dvomlehn@cisco.com \
--cc=dwmw2@infradead.org \
--cc=hpa@zytor.com \
--cc=linux-embedded@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-usb@vger.kernel.org \
--cc=mingo@elte.hu \
--cc=tglx@linutronix.de \
--cc=torvalds@linux-foundation.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®