netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Ming Lei <tom.leiming@gmail.com>
To: David VomLehn <dvomlehn@cisco.com>
Cc: linux-kernel@vger.kernel.org, akpm@linux-foundation.org,
	linux-usb@vger.kernel.org, greg@kroah.com,
	linux-scsi@vger.kernel.org, netdev@vger.kernel.org,
	arjan@infradead.org
Subject: Re: [PATCH 3/5] initdev:kernel: Await console discovery, v5
Date: Sat, 2 May 2009 11:38:25 +0800	[thread overview]
Message-ID: <20090502113825.11bc7876@linux-lm> (raw)
In-Reply-To: <20090502022756.GA15838@cuplxvomd02.corp.sa.net>

On Fri, 1 May 2009 19:27:56 -0700
David VomLehn <dvomlehn@cisco.com> wrote:

> The patch has been re-written to use the init device synchronization
> infrastructure. This ensures that we can detect console
> initialization when the devices become available, as well as
> determining that no console is attached at boot time.
> 
> History
> v5	Change bootdev_* to initdev_*.
> v4	Use new hotplug synchronization infrastructure. Include
> Braille console support.
> v3.2	Use only a single new command line parameter by adding
> the possible value "forever".  Add message specifying the parameter
> to modify to increase the delay for console initialization
> v3.1	Correct the abbreviation for milliseconds in
> 	Documentation/kernel-parameters.txt to be "ms", not "mS".
> Thanks to Peter Anvin for this.
> v3	Increase the default delay to 1 second and add kernel
> command line parameters to override the default delay. Thanks to
> David Brownell for his helpful suggestions.
> v2	Wait for the preferred console rather than any console.
> Make the delay interval a tunable.
> v1	Initial version
> 
> Signed-off-by: David VomLehn <dvomlehn@cisco.com>
> ---
>  drivers/accessibility/braille/braille_console.c |    3 ++
>  kernel/printk.c                                 |   29
> ++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1
> deletions(-)
> 
> diff --git a/drivers/accessibility/braille/braille_console.c
> b/drivers/accessibility/braille/braille_console.c index
> d672cfe..4420ac3 100644 ---
> a/drivers/accessibility/braille/braille_console.c +++
> b/drivers/accessibility/braille/braille_console.c @@ -35,6 +35,7 @@
>  #include <linux/keyboard.h>
>  #include <linux/kbd_kern.h>
>  #include <linux/input.h>
> +#include <linux/initdev.h>
>  
>  MODULE_AUTHOR("samuel.thibault@ens-lyon.org");
>  MODULE_DESCRIPTION("braille device");
> @@ -378,6 +379,8 @@ int braille_register_console(struct console
> *console, int index, braille_co = console;
>  	register_keyboard_notifier(&keyboard_notifier_block);
>  	register_vt_notifier(&vt_notifier_block);
> +
> +	initdev_register(BOOTDEV_CONSOLE);

Should it be initdev_registered(BOOTDEV_CONSOLE)?


>  	return 0;
>  }
>  
> diff --git a/kernel/printk.c b/kernel/printk.c
> index 5052b54..e6a9379 100644
> --- a/kernel/printk.c
> +++ b/kernel/printk.c
> @@ -33,6 +33,7 @@
>  #include <linux/bootmem.h>
>  #include <linux/syscalls.h>
>  #include <linux/kexec.h>
> +#include <linux/device.h>
>  
>  #include <asm/uaccess.h>
>  
> @@ -1075,8 +1076,10 @@ void console_unblank(void)
>  
>  /*
>   * Return the console tty driver structure and its associated index
> + * @index:	Pointer to the device index
> + * Returns NULL if no driver available, otherwise a pointer to the
> TTY driver. */
> -struct tty_driver *console_device(int *index)
> +struct tty_driver *_console_device(int *index)
>  {
>  	struct console *c;
>  	struct tty_driver *driver = NULL;
> @@ -1094,6 +1097,29 @@ struct tty_driver *console_device(int *index)
>  }
>  
>  /*
> + * Returns true if all specific consoles are registered, false
> otherwise
> + */
> +static bool have_all_consoles(void)
> +{
> +	struct tty_driver *driver;
> +	int		index;
> +
> +	driver = _console_device(&index);
> +
> +	return driver != NULL;
> +}
> +
> +struct tty_driver *console_device(int *index)
> +{
> +	struct tty_driver *driver;
> +	initdev_wait(BOOTDEV_CONSOLE, have_all_consoles);
> +
> +	driver = _console_device(index);
> +
> +	return driver;
> +}
> +
> +/*
>   * Prevent further output on the passed console device so that (for
> example)
>   * serial drivers can disable console output before suspending a
> port, and can
>   * re-enable output afterwards.
> @@ -1230,6 +1256,7 @@ void register_console(struct console *console)
>  		spin_unlock_irqrestore(&logbuf_lock, flags);
>  	}
>  	release_console_sem();
> +	initdev_registered(BOOTDEV_CONSOLE);
>  }
>  EXPORT_SYMBOL(register_console);
>  
> --
> To unsubscribe from this list: send the line "unsubscribe linux-scsi"
> in the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



-- 
Lei Ming

  reply	other threads:[~2009-05-02  3:38 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-05-02  2:27 [PATCH 3/5] initdev:kernel: Await console discovery, v5 David VomLehn
2009-05-02  3:38 ` Ming Lei [this message]
2009-05-05  0:17   ` 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=20090502113825.11bc7876@linux-lm \
    --to=tom.leiming@gmail.com \
    --cc=akpm@linux-foundation.org \
    --cc=arjan@infradead.org \
    --cc=dvomlehn@cisco.com \
    --cc=greg@kroah.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=linux-usb@vger.kernel.org \
    --cc=netdev@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).