linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* Fw:  [PATCH] disable logo at boot
@ 2007-08-01 22:49 Randy Dunlap
  2007-08-02  1:29 ` Antonino A. Daplas
  0 siblings, 1 reply; 2+ messages in thread
From: Randy Dunlap @ 2007-08-01 22:49 UTC (permalink / raw)
  To: linux-fbdev-devel; +Cc: adaplas


any interest in this?
or is there some other way to do this that I missed?

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Date: Thu, 12 Jul 2007 13:37:45 -0700

From: Randy Dunlap <rdunlap@xenotime.net>

Add logo.nologo kernel boot option to disable the logo in order
to provide more screen space for kernel messages; especially
useful when debugging and screen space is more critical.

newport_con driver changes are untested.

Signed-off-by: Randy Dunlap <rdunlap@xenotime.net>
---
 Documentation/kernel-parameters.txt |    5 +++++
 drivers/video/console/newport_con.c |   20 ++++++++++++++------
 drivers/video/logo/logo.c           |    6 ++++++
 3 files changed, 25 insertions(+), 6 deletions(-)

--- linux-2.6.22.orig/Documentation/kernel-parameters.txt
+++ linux-2.6.22/Documentation/kernel-parameters.txt
@@ -900,6 +900,11 @@ and is between 256 and 4096 characters. 
 			n must be a power of two.  The default size
 			is set in the kernel config file.
 
+	logo.nologo	[FB] Disables display of the built-in Linux logo.
+			This may be used to provide more screen space for
+			kernel log messages and is useful when debugging
+			kernel boot problems.
+
 	lp=0		[LP]	Specify parallel ports to use, e.g,
 	lp=port[,port...]	lp=none,parport0 (lp0 not configured, lp1 uses
 	lp=reset		first parallel port). 'lp=0' disables the
--- linux-2.6.22.orig/drivers/video/logo/logo.c
+++ linux-2.6.22/drivers/video/logo/logo.c
@@ -34,11 +34,17 @@ extern const struct linux_logo logo_supe
 extern const struct linux_logo logo_superh_clut224;
 extern const struct linux_logo logo_m32r_clut224;
 
+int nologo;
+module_param(nologo, bool, 0);
+MODULE_PARM_DESC(nologo, "Disables startup logo");
 
 const struct linux_logo *fb_find_logo(int depth)
 {
 	const struct linux_logo *logo = NULL;
 
+	if (nologo)
+		return NULL;
+
 	if (depth >= 1) {
 #ifdef CONFIG_LOGO_LINUX_MONO
 		/* Generic Linux logo */
--- linux-2.6.22.orig/drivers/video/console/newport_con.c
+++ linux-2.6.22/drivers/video/console/newport_con.c
@@ -98,14 +98,19 @@ static inline void newport_init_cmap(voi
 	}
 }
 
-static void newport_show_logo(void)
+static struct linux_logo * newport_show_logo(void)
 {
 #ifdef CONFIG_LOGO_SGI_CLUT224
 	const struct linux_logo *logo = fb_find_logo(8);
-	const unsigned char *clut = logo->clut;
-	const unsigned char *data = logo->data;
+	const unsigned char *clut;
+	const unsigned char *data;
 	unsigned long i;
 
+	if (!logo)
+		return NULL;
+	*clut = logo->clut;
+	*data = logo->data;
+
 	for (i = 0; i < logo->clutsize; i++) {
 		newport_bfwait(npregs);
 		newport_cmap_setaddr(npregs, i + 0x20);
@@ -123,6 +128,8 @@ static void newport_show_logo(void)
 
 	for (i = 0; i < logo->width*logo->height; i++)
 		npregs->go.hostrw0 = *data++ << 24;
+
+	return logo;
 #endif /* CONFIG_LOGO_SGI_CLUT224 */
 }
 
@@ -465,9 +472,10 @@ static int newport_switch(struct vc_data
 	npregs->cset.topscan = 0x3ff;
 
 	if (!logo_drawn) {
-		newport_show_logo();
-		logo_drawn = 1;
-		logo_active = 1;
+		if (newport_show_logo()) {
+			logo_drawn = 1;
+			logo_active = 1;
+		}
 	}
 
 	return 1;

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/

^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2007-08-02  1:29 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2007-08-01 22:49 Fw: [PATCH] disable logo at boot Randy Dunlap
2007-08-02  1:29 ` Antonino A. Daplas

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).