diff options
Diffstat (limited to 'drivers/video/console/fbcon.c')
| -rw-r--r-- | drivers/video/console/fbcon.c | 26 | 
1 files changed, 26 insertions, 0 deletions
diff --git a/drivers/video/console/fbcon.c b/drivers/video/console/fbcon.c index b0a3fa00706..3b3f5749af9 100644 --- a/drivers/video/console/fbcon.c +++ b/drivers/video/console/fbcon.c @@ -2342,6 +2342,30 @@ static int fbcon_blank(struct vc_data *vc, int blank, int mode_switch)  	return 0;  } +static int fbcon_debug_enter(struct vc_data *vc) +{ +	struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; +	struct fbcon_ops *ops = info->fbcon_par; + +	ops->save_graphics = ops->graphics; +	ops->graphics = 0; +	if (info->fbops->fb_debug_enter) +		info->fbops->fb_debug_enter(info); +	fbcon_set_palette(vc, color_table); +	return 0; +} + +static int fbcon_debug_leave(struct vc_data *vc) +{ +	struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]]; +	struct fbcon_ops *ops = info->fbcon_par; + +	ops->graphics = ops->save_graphics; +	if (info->fbops->fb_debug_leave) +		info->fbops->fb_debug_leave(info); +	return 0; +} +  static int fbcon_get_font(struct vc_data *vc, struct console_font *font)  {  	u8 *fontdata = vc->vc_font.data; @@ -3276,6 +3300,8 @@ static const struct consw fb_con = {  	.con_screen_pos 	= fbcon_screen_pos,  	.con_getxy 		= fbcon_getxy,  	.con_resize             = fbcon_resize, +	.con_debug_enter	= fbcon_debug_enter, +	.con_debug_leave	= fbcon_debug_leave,  };  static struct notifier_block fbcon_event_notifier = {  |