diff options
author | Jeff Garzik <jgarzik@pobox.com> | 2005-09-21 22:30:42 -0400 |
---|---|---|
committer | Jeff Garzik <jgarzik@pobox.com> | 2005-09-21 22:30:42 -0400 |
commit | 08217637fe8a0ba24e1bfc893569f9be4d836c6a (patch) | |
tree | aecd53ca7952b59d93f066161b677926e813a550 /drivers/video/console/fbcon.c | |
parent | 793b883ed12a6ae6e2901ddb5e038b77d6f0c0ac (diff) | |
parent | efb0372bbaf5b829ff8c39db372779928af542a7 (diff) |
Merge /spare/repo/linux-2.6/
Diffstat (limited to 'drivers/video/console/fbcon.c')
-rw-r--r-- | drivers/video/console/fbcon.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index 2e93224d2d55..0fc8bb499c3f 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c | |||
@@ -767,7 +767,7 @@ static const char *fbcon_startup(void) | |||
767 | const char *display_desc = "frame buffer device"; | 767 | const char *display_desc = "frame buffer device"; |
768 | struct display *p = &fb_display[fg_console]; | 768 | struct display *p = &fb_display[fg_console]; |
769 | struct vc_data *vc = vc_cons[fg_console].d; | 769 | struct vc_data *vc = vc_cons[fg_console].d; |
770 | struct font_desc *font = NULL; | 770 | const struct font_desc *font = NULL; |
771 | struct module *owner; | 771 | struct module *owner; |
772 | struct fb_info *info = NULL; | 772 | struct fb_info *info = NULL; |
773 | struct fbcon_ops *ops; | 773 | struct fbcon_ops *ops; |
@@ -841,7 +841,7 @@ static const char *fbcon_startup(void) | |||
841 | info->var.yres); | 841 | info->var.yres); |
842 | vc->vc_font.width = font->width; | 842 | vc->vc_font.width = font->width; |
843 | vc->vc_font.height = font->height; | 843 | vc->vc_font.height = font->height; |
844 | vc->vc_font.data = p->fontdata = font->data; | 844 | vc->vc_font.data = (void *)(p->fontdata = font->data); |
845 | vc->vc_font.charcount = 256; /* FIXME Need to support more fonts */ | 845 | vc->vc_font.charcount = 256; /* FIXME Need to support more fonts */ |
846 | } | 846 | } |
847 | 847 | ||
@@ -941,7 +941,7 @@ static void fbcon_init(struct vc_data *vc, int init) | |||
941 | fb, copy the font from that console */ | 941 | fb, copy the font from that console */ |
942 | t = &fb_display[svc->vc_num]; | 942 | t = &fb_display[svc->vc_num]; |
943 | if (!vc->vc_font.data) { | 943 | if (!vc->vc_font.data) { |
944 | vc->vc_font.data = p->fontdata = t->fontdata; | 944 | vc->vc_font.data = (void *)(p->fontdata = t->fontdata); |
945 | vc->vc_font.width = (*default_mode)->vc_font.width; | 945 | vc->vc_font.width = (*default_mode)->vc_font.width; |
946 | vc->vc_font.height = (*default_mode)->vc_font.height; | 946 | vc->vc_font.height = (*default_mode)->vc_font.height; |
947 | p->userfont = t->userfont; | 947 | p->userfont = t->userfont; |
@@ -1188,7 +1188,7 @@ static void fbcon_set_disp(struct fb_info *info, struct fb_var_screeninfo *var, | |||
1188 | return; | 1188 | return; |
1189 | t = &fb_display[svc->vc_num]; | 1189 | t = &fb_display[svc->vc_num]; |
1190 | if (!vc->vc_font.data) { | 1190 | if (!vc->vc_font.data) { |
1191 | vc->vc_font.data = p->fontdata = t->fontdata; | 1191 | vc->vc_font.data = (void *)(p->fontdata = t->fontdata); |
1192 | vc->vc_font.width = (*default_mode)->vc_font.width; | 1192 | vc->vc_font.width = (*default_mode)->vc_font.width; |
1193 | vc->vc_font.height = (*default_mode)->vc_font.height; | 1193 | vc->vc_font.height = (*default_mode)->vc_font.height; |
1194 | p->userfont = t->userfont; | 1194 | p->userfont = t->userfont; |
@@ -1687,6 +1687,8 @@ static int fbcon_scroll(struct vc_data *vc, int t, int b, int dir, | |||
1687 | case SM_DOWN: | 1687 | case SM_DOWN: |
1688 | if (count > vc->vc_rows) /* Maximum realistic size */ | 1688 | if (count > vc->vc_rows) /* Maximum realistic size */ |
1689 | count = vc->vc_rows; | 1689 | count = vc->vc_rows; |
1690 | if (logo_shown >= 0) | ||
1691 | goto redraw_down; | ||
1690 | switch (p->scrollmode) { | 1692 | switch (p->scrollmode) { |
1691 | case SCROLL_MOVE: | 1693 | case SCROLL_MOVE: |
1692 | ops->bmove(vc, info, t, 0, t + count, 0, | 1694 | ops->bmove(vc, info, t, 0, t + count, 0, |
@@ -2148,7 +2150,7 @@ static int fbcon_get_font(struct vc_data *vc, struct console_font *font) | |||
2148 | } | 2150 | } |
2149 | 2151 | ||
2150 | static int fbcon_do_set_font(struct vc_data *vc, int w, int h, | 2152 | static int fbcon_do_set_font(struct vc_data *vc, int w, int h, |
2151 | u8 * data, int userfont) | 2153 | const u8 * data, int userfont) |
2152 | { | 2154 | { |
2153 | struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; | 2155 | struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
2154 | struct display *p = &fb_display[vc->vc_num]; | 2156 | struct display *p = &fb_display[vc->vc_num]; |
@@ -2166,7 +2168,7 @@ static int fbcon_do_set_font(struct vc_data *vc, int w, int h, | |||
2166 | cnt = FNTCHARCNT(data); | 2168 | cnt = FNTCHARCNT(data); |
2167 | else | 2169 | else |
2168 | cnt = 256; | 2170 | cnt = 256; |
2169 | vc->vc_font.data = p->fontdata = data; | 2171 | vc->vc_font.data = (void *)(p->fontdata = data); |
2170 | if ((p->userfont = userfont)) | 2172 | if ((p->userfont = userfont)) |
2171 | REFCOUNT(data)++; | 2173 | REFCOUNT(data)++; |
2172 | vc->vc_font.width = w; | 2174 | vc->vc_font.width = w; |
@@ -2323,7 +2325,7 @@ static int fbcon_set_font(struct vc_data *vc, struct console_font *font, unsigne | |||
2323 | tmp->vc_font.width == w && | 2325 | tmp->vc_font.width == w && |
2324 | !memcmp(fb_display[i].fontdata, new_data, size)) { | 2326 | !memcmp(fb_display[i].fontdata, new_data, size)) { |
2325 | kfree(new_data - FONT_EXTRA_WORDS * sizeof(int)); | 2327 | kfree(new_data - FONT_EXTRA_WORDS * sizeof(int)); |
2326 | new_data = fb_display[i].fontdata; | 2328 | new_data = (u8 *)fb_display[i].fontdata; |
2327 | break; | 2329 | break; |
2328 | } | 2330 | } |
2329 | } | 2331 | } |
@@ -2333,7 +2335,7 @@ static int fbcon_set_font(struct vc_data *vc, struct console_font *font, unsigne | |||
2333 | static int fbcon_set_def_font(struct vc_data *vc, struct console_font *font, char *name) | 2335 | static int fbcon_set_def_font(struct vc_data *vc, struct console_font *font, char *name) |
2334 | { | 2336 | { |
2335 | struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; | 2337 | struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; |
2336 | struct font_desc *f; | 2338 | const struct font_desc *f; |
2337 | 2339 | ||
2338 | if (!name) | 2340 | if (!name) |
2339 | f = get_default_font(info->var.xres, info->var.yres); | 2341 | f = get_default_font(info->var.xres, info->var.yres); |