diff options
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); |
