diff options
| author | Andrew Morton <akpm@osdl.org> | 2004-03-01 07:04:41 -0800 |
|---|---|---|
| committer | Linus Torvalds <torvalds@ppc970.osdl.org> | 2004-03-01 07:04:41 -0800 |
| commit | c0ce26a835daa96ae91ac74decc97c18b4a35a54 (patch) | |
| tree | f43301cf3e157ac68353c3df4206a09f7f9e0de3 /include/linux | |
| parent | 3d5daf73a4eefaaf07f07e899c4c5382d32b86d4 (diff) | |
[PATCH] Fix VT mode change vs. fbcon
From: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This patch implements what we discussed earlier to fix the switch bewteen
KD_GRAPHICS and KD_TEXT.
It has been tested for a few days now and appear to resolve the problem for
affected users.
James: I know you have some objections, I don't fully agree with them, and
I want that in asap now, that bug has been plaguing fbdev since the very
beginning and it's time to get rid of that and my corresponding todolist
entry. You are welcome to propose a patch on top of this one if you feel
you can make things cleaner. The approach of adding a parameter to
con_blank() is Linus idea btw :)
I didn't add a separate function as that would have made the butchering of
drivers/char/vt beyond what I want to deal with in 2.6.
Diffstat (limited to 'include/linux')
| -rw-r--r-- | include/linux/console.h | 2 | ||||
| -rw-r--r-- | include/linux/fb.h | 1 | ||||
| -rw-r--r-- | include/linux/vt_kern.h | 3 |
3 files changed, 4 insertions, 2 deletions
diff --git a/include/linux/console.h b/include/linux/console.h index f6ff116ccfb3..2092454b2d8f 100644 --- a/include/linux/console.h +++ b/include/linux/console.h @@ -37,7 +37,7 @@ struct consw { int (*con_scroll)(struct vc_data *, int, int, int, int); void (*con_bmove)(struct vc_data *, int, int, int, int, int, int); int (*con_switch)(struct vc_data *); - int (*con_blank)(struct vc_data *, int); + int (*con_blank)(struct vc_data *, int, int); int (*con_font_op)(struct vc_data *, struct console_font_op *); int (*con_resize)(struct vc_data *, unsigned int, unsigned int); int (*con_set_palette)(struct vc_data *, unsigned char *); diff --git a/include/linux/fb.h b/include/linux/fb.h index 91972971f387..85176893dbf4 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -152,6 +152,7 @@ struct fb_bitfield { #define FB_ACTIVATE_VBL 16 /* activate values on next vbl */ #define FB_CHANGE_CMAP_VBL 32 /* change colormap on vbl */ #define FB_ACTIVATE_ALL 64 /* change all VCs on this fb */ +#define FB_ACTIVATE_FORCE 128 /* force apply even when no change*/ #define FB_ACCELF_TEXT 1 /* text mode acceleration */ diff --git a/include/linux/vt_kern.h b/include/linux/vt_kern.h index f5605e04656f..d1f3c979ce14 100644 --- a/include/linux/vt_kern.h +++ b/include/linux/vt_kern.h @@ -44,7 +44,8 @@ int vc_resize(int currcons, unsigned int cols, unsigned int lines); void vc_disallocate(unsigned int console); void reset_palette(int currcons); void set_palette(int currcons); -void do_blank_screen(int gfx_mode); +void do_blank_screen(int entering_gfx); +void do_unblank_screen(int leaving_gfx); void unblank_screen(void); void poke_blanked_console(void); int con_font_op(int currcons, struct console_font_op *op); |
