 info->var.xoffset = info->var.yoffset = p->yscroll = 0;	/* reset wrap/pan */ 
static void fbcon_init(struct vc_data *vc, int init){	struct fb_info *info = registered_fb[con2fb_map[vc->vc_num]];	struct fbcon_ops *ops;	struct vc_data **default_mode = vc->vc_display_fg;	struct vc_data *svc = *default_mode;	struct display *t, *p = &fb_display[vc->vc_num];	int logo = 1, new_rows, new_cols, rows, cols, charcnt = 256;	int cap;	if (info_idx == -1 || info == NULL)	    return;	cap = info->flags;	if (vc != svc || logo_shown == FBCON_LOGO_DONTSHOW ||	    (info->fix.type == FB_TYPE_TEXT))		logo = 0;	info->var.xoffset = info->var.yoffset = p->yscroll = 0;	/* reset wrap/pan */	if (var_to_display(p, &info->var, info))		return;	/* If we are not the first console on this	   fb, copy the font from that console */	t = &fb_display[svc->vc_num];	if (!vc->vc_font.data) {		vc->vc_font.data = (void *)(p->fontdata = t->fontdata);		vc->vc_font.width = (*default_mode)->vc_font.width;		vc->vc_font.height = (*default_mode)->vc_font.height;		p->userfont = t->userfont;		if (p->userfont)			REFCOUNT(p->fontdata)++;	}	if (p->userfont)		charcnt = FNTCHARCNT(p->fontdata);	vc->vc_can_do_color = (fb_get_color_depth(&info->var, &info->fix)!=1);	vc->vc_complement_mask = vc->vc_can_do_color ? 0x7700 : 0x0800;	if (charcnt == 256) {		vc->vc_hi_font_mask = 0;	} else {		vc->vc_hi_font_mask = 0x100;		if (vc->vc_can_do_color)			vc->vc_complement_mask <<= 1;	}	if (!*svc->vc_uni_pagedir_loc)		con_set_default_unimap(svc);	if (!*vc->vc_uni_pagedir_loc)		con_copy_unimap(vc, svc);	cols = vc->vc_cols;	rows = vc->vc_rows;	new_cols = info->var.xres / vc->vc_font.width;	new_rows = info->var.yres / vc->vc_font.height;	vc_resize(vc, new_cols, new_rows);	ops = info->fbcon_par;	/*	 * We must always set the mode. The mode of the previous console	 * driver could be in the same resolution but we are using different	 * hardware so we have to initialize the hardware.	 *	 * We need to do it in fbcon_init() to prevent screen corruption.	 */	if (CON_IS_VISIBLE(vc)) {		if (info->fbops->fb_set_par &&		    !(ops->flags & FBCON_FLAGS_INIT))			info->fbops->fb_set_par(info);		ops->flags |= FBCON_FLAGS_INIT;	}	ops->graphics = 0;	if ((cap & FBINFO_HWACCEL_COPYAREA) &&	    !(cap & FBINFO_HWACCEL_DISABLED))		p->scrollmode = SCROLL_MOVE;	else /* default to something safe */		p->scrollmode = SCROLL_REDRAW;	/*	 *  ++guenther: console.c:vc_allocate() relies on initializing	 *  vc_{cols,rows}, but we must not set those if we are only	 *  resizing the console.	 */	if (!init) {		vc->vc_cols = new_cols;		vc->vc_rows = new_rows;	}	if (logo)		fbcon_prepare_logo(vc, info, cols, rows, new_cols, new_rows);	if (vc == svc && softback_buf)		fbcon_update_softback(vc);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/e4fc27618b75234b721c4a13d0e0d9d07e75e641/fbcon.c/clean/drivers/video/console/fbcon.c