Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTakashi Iwai <tiwai@suse.de>2011-07-04 12:07:08 +0200
committerTakashi Iwai <tiwai@suse.de>2011-07-04 12:07:08 +0200
commitac300894dc2878ef767a334858955a33ce48d25f (patch)
tree10e67a55997864b08f86f020fa728467edfc7bd2
parente7003259e1bb642a167f70c787b240cc90bbd148 (diff)
Fix invalid colormap override in SUSE-bootsplash patch (bnc#584493)
-rw-r--r--patches.suse/SUSE-bootsplash257
1 files changed, 107 insertions, 150 deletions
diff --git a/patches.suse/SUSE-bootsplash b/patches.suse/SUSE-bootsplash
index b4dba706c3..e6cc0dbfe2 100644
--- a/patches.suse/SUSE-bootsplash
+++ b/patches.suse/SUSE-bootsplash
@@ -15,25 +15,24 @@ References: bnc#669777, bnc#570082, bnc#595657, bnc#594209, bnc#544645
Signed-off-by: Egbert Eich <eich@suse.de>
---
- drivers/tty/n_tty.c | 11 +
- drivers/tty/vt/keyboard.c | 9 +
- drivers/tty/vt/vt.c | 29 +
- drivers/video/Kconfig | 4 +
- drivers/video/Makefile | 1 +
- drivers/video/bootsplash/Kconfig | 17 +
- drivers/video/bootsplash/Makefile | 5 +
- drivers/video/bootsplash/bootsplash.c | 2424 +++++++++++++++++++++++++++++++++
+ drivers/tty/n_tty.c | 11
+ drivers/tty/vt/keyboard.c | 9
+ drivers/tty/vt/vt.c | 29
+ drivers/video/Kconfig | 4
+ drivers/video/Makefile | 1
+ drivers/video/bootsplash/Kconfig | 17
+ drivers/video/bootsplash/Makefile | 5
+ drivers/video/bootsplash/bootsplash.c | 2414 ++++++++++++++++++++++++++++++++++
drivers/video/bootsplash/decode-jpg.c | 998 ++++++++++++++
- drivers/video/bootsplash/decode-jpg.h | 36 +
- drivers/video/bootsplash/render.c | 491 +++++++
- drivers/video/console/bitblit.c | 31 +
- drivers/video/console/fbcon.c | 58 +
- drivers/video/console/fbcon.h | 45 +
+ drivers/video/bootsplash/decode-jpg.h | 36
+ drivers/video/bootsplash/render.c | 491 ++++++
+ drivers/video/console/bitblit.c | 31
+ drivers/video/console/fbcon.c | 58
+ drivers/video/console/fbcon.h | 47
include/linux/bootsplash.h | 76 +
- include/linux/console_struct.h | 3 +
- include/linux/fb.h | 4 +
- kernel/panic.c | 7 +
- 18 files changed, 4249 insertions(+), 0 deletions(-)
+ include/linux/console_struct.h | 3
+ include/linux/fb.h | 4
+ 17 files changed, 4234 insertions(+)
create mode 100644 drivers/video/bootsplash/Kconfig
create mode 100644 drivers/video/bootsplash/Makefile
create mode 100644 drivers/video/bootsplash/bootsplash.c
@@ -42,10 +41,8 @@ Signed-off-by: Egbert Eich <eich@suse.de>
create mode 100644 drivers/video/bootsplash/render.c
create mode 100644 include/linux/bootsplash.h
-Index: linux-2.6.39-rc3-master/drivers/tty/n_tty.c
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/tty/n_tty.c
-+++ linux-2.6.39-rc3-master/drivers/tty/n_tty.c
+--- a/drivers/tty/n_tty.c
++++ b/drivers/tty/n_tty.c
@@ -50,6 +50,8 @@
#include <linux/uaccess.h>
#include <linux/module.h>
@@ -55,7 +52,7 @@ Index: linux-2.6.39-rc3-master/drivers/tty/n_tty.c
#include <asm/system.h>
/* number of characters left in xmit buffer before select has we have room */
-@@ -1796,6 +1798,15 @@ do_it_again:
+@@ -1796,6 +1798,15 @@
tty->minimum_to_wake = (minimum - (b - buf));
if (!input_available_p(tty, 0)) {
@@ -71,11 +68,9 @@ Index: linux-2.6.39-rc3-master/drivers/tty/n_tty.c
if (test_bit(TTY_OTHER_CLOSED, &tty->flags)) {
retval = -EIO;
break;
-Index: linux-2.6.39-rc3-master/drivers/tty/vt/keyboard.c
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/tty/vt/keyboard.c
-+++ linux-2.6.39-rc3-master/drivers/tty/vt/keyboard.c
-@@ -45,6 +45,8 @@
+--- a/drivers/tty/vt/keyboard.c
++++ b/drivers/tty/vt/keyboard.c
+@@ -43,6 +43,8 @@
#include <linux/notifier.h>
#include <linux/jiffies.h>
@@ -84,7 +79,7 @@ Index: linux-2.6.39-rc3-master/drivers/tty/vt/keyboard.c
extern void ctrl_alt_del(void);
/*
-@@ -1203,6 +1205,13 @@ static void kbd_keycode(unsigned int key
+@@ -1201,6 +1203,13 @@
pr_warning("can't emulate rawmode for keycode %d\n",
keycode);
@@ -98,11 +93,9 @@ Index: linux-2.6.39-rc3-master/drivers/tty/vt/keyboard.c
#ifdef CONFIG_SPARC
if (keycode == KEY_A && sparc_l1_a_state) {
sparc_l1_a_state = false;
-Index: linux-2.6.39-rc3-master/drivers/tty/vt/vt.c
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/tty/vt/vt.c
-+++ linux-2.6.39-rc3-master/drivers/tty/vt/vt.c
-@@ -4201,6 +4201,35 @@ void vcs_scr_updated(struct vc_data *vc)
+--- a/drivers/tty/vt/vt.c
++++ b/drivers/tty/vt/vt.c
+@@ -4204,6 +4204,35 @@
notify_update(vc);
}
@@ -138,11 +131,9 @@ Index: linux-2.6.39-rc3-master/drivers/tty/vt/vt.c
/*
* Visible symbols for modules
*/
-Index: linux-2.6.39-rc3-master/drivers/video/Kconfig
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/video/Kconfig
-+++ linux-2.6.39-rc3-master/drivers/video/Kconfig
-@@ -2355,4 +2355,8 @@ if FB || SGI_NEWPORT_CONSOLE
+--- a/drivers/video/Kconfig
++++ b/drivers/video/Kconfig
+@@ -2397,4 +2397,8 @@
source "drivers/video/logo/Kconfig"
endif
@@ -151,11 +142,9 @@ Index: linux-2.6.39-rc3-master/drivers/video/Kconfig
+endif
+
endmenu
-Index: linux-2.6.39-rc3-master/drivers/video/Makefile
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/video/Makefile
-+++ linux-2.6.39-rc3-master/drivers/video/Makefile
-@@ -14,6 +14,7 @@ fb-objs := $(f
+--- a/drivers/video/Makefile
++++ b/drivers/video/Makefile
+@@ -14,6 +14,7 @@
obj-$(CONFIG_VT) += console/
obj-$(CONFIG_LOGO) += logo/
obj-y += backlight/ display/
@@ -163,10 +152,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/Makefile
obj-$(CONFIG_FB_CFB_FILLRECT) += cfbfillrect.o
obj-$(CONFIG_FB_CFB_COPYAREA) += cfbcopyarea.o
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/Kconfig
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/Kconfig
++++ b/drivers/video/bootsplash/Kconfig
@@ -0,0 +1,17 @@
+#
+# Bootsplash configuration
@@ -185,21 +172,17 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/Kconfig
+ If you are unsure, say N
+endmenu
+
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/Makefile
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/Makefile
++++ b/drivers/video/bootsplash/Makefile
@@ -0,0 +1,5 @@
+# Makefile for the Linux bootsplash
+
+obj-$(CONFIG_BOOTSPLASH) += bootsplash.o
+obj-$(CONFIG_BOOTSPLASH) += decode-jpg.o
+obj-$(CONFIG_BOOTSPLASH) += render.o
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
-@@ -0,0 +1,2424 @@
++++ b/drivers/video/bootsplash/bootsplash.c
+@@ -0,0 +1,2414 @@
+/*
+ * linux/drivers/video/bootsplash/bootsplash.c -
+ * splash screen handling functions.
@@ -1257,6 +1240,14 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ return -1;
+}
+
++static void splash_update_redraw(struct vc_data *vc, struct fb_info *info)
++{
++ update_region(vc,
++ vc->vc_origin + vc->vc_size_row * vc->vc_top,
++ vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
++ splash_clear_margins(vc, info, 0);
++}
++
+int splash_do_verbose(void)
+{
+ struct vc_data *vc;
@@ -1288,10 +1279,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ if (!info || !info->splash_data)
+ goto done;
+
-+ update_region(vc,
-+ vc->vc_origin + vc->vc_size_row * vc->vc_top,
-+ vc->vc_size_row * (vc->vc_bottom - vc->vc_top) / 2);
-+ splash_clear_margins(vc, info, 0);
++ splash_update_redraw(vc, info);
+ ret = 0;
+
+ done:
@@ -1326,8 +1314,6 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ info->splash_data = 0;
+ if (rows != vc->vc_rows || cols != vc->vc_cols)
+ vc_resize(vc, rows, cols);
-+ if (vc->vc_def_color != 0x07)
-+ con_remap_def_color(vc, 0x07);
+}
+
+/* look for the splash with the matching size and set it as the current */
@@ -1406,6 +1392,25 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ return -1;
+}
+
++static int splash_recolor(struct vc_data *vc, struct fb_info *info)
++{
++ int color;
++
++ SPLASH_DEBUG();
++ if (!vc->vc_splash_data)
++ return -1;
++ if (!vc->vc_splash_data->splash_state)
++ return 0;
++ color = vc->vc_splash_data->imgd->splash_color << 4 |
++ vc->vc_splash_data->imgd->splash_fg_color;
++ if (vc->vc_def_color != color)
++ con_remap_def_color(vc, color);
++ if (info && fg_console == vc->vc_num)
++ splash_update_redraw(vc, info);
++ vc->vc_splash_data->color_set = 1;
++ return 0;
++}
++
+int splash_prepare(struct vc_data *vc, struct fb_info *info)
+{
+ int err;
@@ -1543,16 +1548,14 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ / vc->vc_font.width;
+ int rows = vc->vc_splash_data->splash_vc_text_he
+ / vc->vc_font.height;
-+ int color = vc->vc_splash_data->imgd->splash_color << 4 |
-+ vc->vc_splash_data->imgd->splash_fg_color;
++
+ info->splash_data = vc->vc_splash_data;
+
+ /* vc_resize also calls con_switch which resets yscroll */
+ if (rows != vc->vc_rows || cols != vc->vc_cols)
+ vc_resize(vc, cols, rows);
-+ if (vc->vc_def_color != color)
-+ con_remap_def_color(vc, color);
-+
++ if (!vc->vc_splash_data->color_set)
++ splash_recolor(vc, NULL);
+ } else {
+ splash_off(vc, info);
+ return -5;
@@ -1570,33 +1573,10 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+static int splash_write_proc(struct file *file, const char *buffer,
+ unsigned long count, void *data);
+static int splash_status(struct vc_data *vc);
-+static int splash_recolor(struct vc_data *vc);
+static int splash_proc_register(void);
+
+static struct proc_dir_entry *proc_splash;
+
-+static int splash_recolor(struct vc_data *vc)
-+{
-+ int color;
-+
-+ SPLASH_DEBUG();
-+ if (!vc->vc_splash_data)
-+ return -1;
-+ if (!vc->vc_splash_data->splash_state)
-+ return 0;
-+ color = vc->vc_splash_data->imgd->splash_color << 4 |
-+ vc->vc_splash_data->imgd->splash_fg_color;
-+ if (vc->vc_def_color != color)
-+ con_remap_def_color(vc, color);
-+ if (fg_console == vc->vc_num) {
-+ update_region(vc,
-+ vc->vc_origin + vc->vc_size_row * vc->vc_top,
-+ vc->vc_size_row
-+ * (vc->vc_bottom - vc->vc_top) / 2);
-+ }
-+ return 0;
-+}
-+
+static int splash_status(struct vc_data *vc)
+{
+ struct fb_info *info;
@@ -1612,20 +1592,13 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+
+ if (fg_console == vc->vc_num)
+ splash_prepare(vc, info);
-+ if (vc->vc_splash_data && vc->vc_splash_data->splash_state) {
-+ if (info->splash_data) {
-+ if (fg_console == vc->vc_num) {
-+ update_region(vc,
-+ vc->vc_origin
-+ + vc->vc_size_row * vc->vc_top,
-+ vc->vc_size_row
-+ * (vc->vc_bottom - vc->vc_top)
-+ / 2);
-+ splash_clear_margins(vc, info, 0);
-+ }
-+ }
-+ } else
++ if (vc->vc_splash_data && vc->vc_splash_data->splash_state)
++ splash_recolor(vc, info);
++ else {
+ splash_off(vc, info);
++ if (vc->vc_def_color != 0x07)
++ con_remap_def_color(vc, 0x07);
++ }
+
+ return 0;
+}
@@ -2016,7 +1989,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ vc_splash_data->imgd->splash_fg_color = uval >> 4 & 0x0f;
+ }
+ if ((uval & 1) == vc_splash_data->splash_state)
-+ splash_recolor(vc);
++ splash_recolor(vc, NULL);
+ else {
+ vc_splash_data->splash_state = uval & 1;
+ splash_status(vc);
@@ -2624,10 +2597,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/bootsplash.c
+ }
+ return 0;
+}
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.c
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.c
++++ b/drivers/video/bootsplash/decode-jpg.c
@@ -0,0 +1,998 @@
+/*
+ * linux/drivers/video/bootsplash/decode-jpg.c - a tiny jpeg decoder.
@@ -3627,10 +3598,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.c
+ outy += 64 * 2 - 16 * 4;
+ }
+}
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.h
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.h
++++ b/drivers/video/bootsplash/decode-jpg.h
@@ -0,0 +1,36 @@
+/*
+ * linux/drivers/video/bootsplash/decode-jpg.h - a tiny jpeg decoder.
@@ -3668,10 +3637,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/decode-jpg.h
+extern void jpeg_get_size(unsigned char *, int *, int *);
+
+#endif
-Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/render.c
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/drivers/video/bootsplash/render.c
++++ b/drivers/video/bootsplash/render.c
@@ -0,0 +1,491 @@
+/*
+ * linux/drivers/video/bootsplash/render.c - splash screen render functions.
@@ -4164,10 +4131,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/bootsplash/render.c
+ /* update_screen(vc->vc_num); */
+ }
+}
-Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/video/console/bitblit.c
-+++ linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
+--- a/drivers/video/console/bitblit.c
++++ b/drivers/video/console/bitblit.c
@@ -19,6 +19,9 @@
#include <asm/types.h>
#include "fbcon.h"
@@ -4178,7 +4143,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
/*
* Accelerated handlers.
*/
-@@ -48,6 +51,12 @@ static void bit_bmove(struct vc_data *vc
+@@ -48,6 +51,12 @@
{
struct fb_copyarea area;
@@ -4191,7 +4156,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
area.sx = sx * vc->vc_font.width;
area.sy = sy * vc->vc_font.height;
area.dx = dx * vc->vc_font.width;
-@@ -64,6 +73,12 @@ static void bit_clear(struct vc_data *vc
+@@ -64,6 +73,12 @@
int bgshift = (vc->vc_hi_font_mask) ? 13 : 12;
struct fb_fillrect region;
@@ -4204,7 +4169,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
region.color = attr_bgcol_ec(bgshift, vc, info);
region.dx = sx * vc->vc_font.width;
region.dy = sy * vc->vc_font.height;
-@@ -161,6 +176,11 @@ static void bit_putcs(struct vc_data *vc
+@@ -161,6 +176,11 @@
image.height = vc->vc_font.height;
image.depth = 1;
@@ -4216,7 +4181,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
if (attribute) {
buf = kmalloc(cellsize, GFP_KERNEL);
if (!buf)
-@@ -214,6 +234,11 @@ static void bit_clear_margins(struct vc_
+@@ -214,6 +234,11 @@
unsigned int bs = info->var.yres - bh;
struct fb_fillrect region;
@@ -4228,7 +4193,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
region.color = attr_bgcol_ec(bgshift, vc, info);
region.rop = ROP_COPY;
-@@ -380,6 +405,12 @@ static void bit_cursor(struct vc_data *v
+@@ -380,6 +405,12 @@
cursor.image.depth = 1;
cursor.rop = ROP_XOR;
@@ -4241,10 +4206,8 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/bitblit.c
if (info->fbops->fb_cursor)
err = info->fbops->fb_cursor(info, &cursor);
-Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/video/console/fbcon.c
-+++ linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
+--- a/drivers/video/console/fbcon.c
++++ b/drivers/video/console/fbcon.c
@@ -80,6 +80,7 @@
#include <asm/system.h>
@@ -4253,7 +4216,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
#ifdef FBCONDEBUG
# define DPRINTK(fmt, args...) printk(KERN_DEBUG "%s: " fmt, __func__ , ## args)
-@@ -95,7 +96,11 @@ enum {
+@@ -95,7 +96,11 @@
static struct display fb_display[MAX_NR_CONSOLES];
@@ -4265,7 +4228,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
static signed char con2fb_map_boot[MAX_NR_CONSOLES];
static int logo_lines;
-@@ -536,6 +541,8 @@ static int fbcon_takeover(int show_logo)
+@@ -536,6 +541,8 @@
for (i = first_fb_vc; i <= last_fb_vc; i++)
con2fb_map[i] = info_idx;
@@ -4274,7 +4237,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
err = take_over_console(&fb_con, first_fb_vc, last_fb_vc,
fbcon_is_default);
-@@ -1099,6 +1106,21 @@ static void fbcon_init(struct vc_data *v
+@@ -1099,6 +1106,21 @@
new_cols /= vc->vc_font.width;
new_rows /= vc->vc_font.height;
@@ -4296,7 +4259,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
/*
* We must always set the mode. The mode of the previous console
* driver could be in the same resolution but we are using different
-@@ -1800,6 +1822,8 @@ static int fbcon_scroll(struct vc_data *
+@@ -1800,6 +1822,8 @@
fbcon_softback_note(vc, t, count);
if (logo_shown >= 0)
goto redraw_up;
@@ -4305,7 +4268,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
switch (p->scrollmode) {
case SCROLL_MOVE:
fbcon_redraw_blit(vc, info, p, t, b - t - count,
-@@ -1891,6 +1915,8 @@ static int fbcon_scroll(struct vc_data *
+@@ -1891,6 +1915,8 @@
count = vc->vc_rows;
if (logo_shown >= 0)
goto redraw_down;
@@ -4314,7 +4277,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
switch (p->scrollmode) {
case SCROLL_MOVE:
fbcon_redraw_blit(vc, info, p, b - 1, b - t - count,
-@@ -2039,6 +2065,12 @@ static void fbcon_bmove_rec(struct vc_da
+@@ -2039,6 +2065,12 @@
}
return;
}
@@ -4327,7 +4290,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
ops->bmove(vc, info, real_y(p, sy), sx, real_y(p, dy), dx,
height, width);
}
-@@ -2147,6 +2179,23 @@ static int fbcon_switch(struct vc_data *
+@@ -2147,6 +2179,23 @@
info = registered_fb[con2fb_map[vc->vc_num]];
ops = info->fbcon_par;
@@ -4351,7 +4314,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
if (softback_top) {
if (softback_lines)
fbcon_set_origin(vc);
-@@ -2280,6 +2329,11 @@ static void fbcon_generic_blank(struct v
+@@ -2280,6 +2329,11 @@
{
struct fb_event event;
@@ -4363,7 +4326,7 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
if (blank) {
unsigned short charmask = vc->vc_hi_font_mask ?
0x1ff : 0xff;
-@@ -2505,6 +2559,10 @@ static int fbcon_do_set_font(struct vc_d
+@@ -2505,6 +2559,10 @@
cols = FBCON_SWAP(ops->rotate, info->var.xres, info->var.yres);
rows = FBCON_SWAP(ops->rotate, info->var.yres, info->var.xres);
@@ -4374,11 +4337,9 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.c
cols /= w;
rows /= h;
vc_resize(vc, cols, rows);
-Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.h
-===================================================================
---- linux-2.6.39-rc3-master.orig/drivers/video/console/fbcon.h
-+++ linux-2.6.39-rc3-master/drivers/video/console/fbcon.h
-@@ -25,6 +25,51 @@
+--- a/drivers/video/console/fbcon.h
++++ b/drivers/video/console/fbcon.h
+@@ -25,6 +25,53 @@
* low-level frame buffer device
*/
@@ -4424,16 +4385,16 @@ Index: linux-2.6.39-rc3-master/drivers/video/console/fbcon.h
+ int splash_boxes_yoff;
+ int splash_sboxes_xoff;
+ int splash_sboxes_yoff;
++
++ bool color_set;
+};
+#endif
+
struct display {
/* Filled in by the low-level console driver */
const u_char *fontdata;
-Index: linux-2.6.39-rc3-master/include/linux/bootsplash.h
-===================================================================
--- /dev/null
-+++ linux-2.6.39-rc3-master/include/linux/bootsplash.h
++++ b/include/linux/bootsplash.h
@@ -0,0 +1,76 @@
+/*
+ * linux/drivers/video/bootsplash/bootsplash.h - splash screen definition.
@@ -4511,11 +4472,9 @@ Index: linux-2.6.39-rc3-master/include/linux/bootsplash.h
+# endif
+
+#endif
-Index: linux-2.6.39-rc3-master/include/linux/console_struct.h
-===================================================================
---- linux-2.6.39-rc3-master.orig/include/linux/console_struct.h
-+++ linux-2.6.39-rc3-master/include/linux/console_struct.h
-@@ -107,6 +107,9 @@ struct vc_data {
+--- a/include/linux/console_struct.h
++++ b/include/linux/console_struct.h
+@@ -107,6 +107,9 @@
unsigned long vc_uni_pagedir;
unsigned long *vc_uni_pagedir_loc; /* [!] Location of uni_pagedir variable for this console */
bool vc_panic_force_write; /* when oops/panic this VC can accept forced output/blanking */
@@ -4525,11 +4484,9 @@ Index: linux-2.6.39-rc3-master/include/linux/console_struct.h
/* additional information is in vt_kern.h */
};
-Index: linux-2.6.39-rc3-master/include/linux/fb.h
-===================================================================
---- linux-2.6.39-rc3-master.orig/include/linux/fb.h
-+++ linux-2.6.39-rc3-master/include/linux/fb.h
-@@ -877,6 +877,10 @@ struct fb_info {
+--- a/include/linux/fb.h
++++ b/include/linux/fb.h
+@@ -878,6 +878,10 @@
void *fbcon_par; /* fbcon use-only private area */
/* From here on everything is device dependent */
void *par;