* is grayscale. 
* is grayscale. However, simply dividing the values by 4 * will not work, as colors 1, 2 and 3 will be scaled-down * to zero rendering them invisible.  So empirically convert * colors to a sane 4-level grayscale. 
static inline int get_color(struct vc_data *vc, struct fb_info *info,	      u16 c, int is_fg){	int depth = fb_get_color_depth(&info->var, &info->fix);	int color = 0;	if (console_blanked) {		unsigned short charmask = vc->vc_hi_font_mask ? 0x1ff : 0xff;		c = vc->vc_video_erase_char & charmask;	}	if (depth != 1)		color = (is_fg) ? attr_fgcol((vc->vc_hi_font_mask) ? 9 : 8, c)			: attr_bgcol((vc->vc_hi_font_mask) ? 13 : 12, c);	switch (depth) {	case 1:	{		int col = ~(0xfff << (max(info->var.green.length,					  max(info->var.red.length,					      info->var.blue.length)))) & 0xff;		/* 0 or 1 */		int fg = (info->fix.visual != FB_VISUAL_MONO01) ? col : 0;		int bg = (info->fix.visual != FB_VISUAL_MONO01) ? 0 : col;		if (console_blanked)			fg = bg;		color = (is_fg) ? fg : bg;		break;	}	case 2:		/*		 * Scale down 16-colors to 4 colors. Default 4-color palette		 * is grayscale.		 */		color /= 4;	case 3:		/*		 * Last 8 entries of default 16-color palette is a more intense		 * version of the first 8 (i.e., same chrominance, different		 * luminance).		 */		color &= 7;		break;	}	return color;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/2cc38ed13f1b0f9d80a2d0acc2916af94922f27e/fbcon.c/clean/drivers/video/console/fbcon.c