case 24: out32(GE9C,(u32)(*((u16*)((u32)image->data+index))) | (u32)(*((u8*)((u32)image->data+index+2)))<<16); 
case 24: out32(GE9C,*(u16*)p | *(u8*)(p+2)<<16); 
static void cyblafb_imageblit(struct fb_info *info,			      const struct fb_image *image){	u32 fgcol, bgcol;	int i;	int bpp = info->var.bits_per_pixel;	int index = 0;	int index_end=image->height * image->width / 8;	int width_dds=image->width / 32;	int width_dbs=image->width % 32;	if (image->depth != 1 || bpp < 8 || bpp > 32 || bpp % 8 != 0 ||	    image->width % 8 != 0 || image->width == 0 || image->height == 0) {		cfb_imageblit(info,image);		return;	}	if (info->fix.visual == FB_VISUAL_TRUECOLOR ||	    info->fix.visual == FB_VISUAL_DIRECTCOLOR) {		fgcol = ((u32*)(info->pseudo_palette))[image->fg_color];		bgcol = ((u32*)(info->pseudo_palette))[image->bg_color];	} else {		fgcol = image->fg_color;		bgcol = image->bg_color;	}	switch (bpp) {		case 8:			fgcol |= fgcol <<8; fgcol |= fgcol <<16;			bgcol |= bgcol <<8; bgcol |= bgcol <<16;			break;		case 16:			fgcol |= fgcol <<16;			bgcol |= bgcol <<16;			break;		default:			 break;	}	cyblafb_sync(info);	out32(GE60,fgcol);	out32(GE64,bgcol);	out32(GE44,0xa0000000 | 1<<20 | 1<<19);	out32(GE08,point(image->dx,image->dy));	out32(GE0C,point(image->dx+image->width-1,image->dy+image->height-1));	while(index < index_end) {		for(i=0;i<width_dds;i++) {			out32(GE9C,*((u32*) ((u32)image->data + index)));			index+=4;		}		switch(width_dbs) {		case 0: break;		case 8:	out32(GE9C,*((u8*)((u32)image->data+index)));			index+=1;			break;		case 16: out32(GE9C,*((u16*)((u32)image->data+index)));			index+=2;			break;		case 24: out32(GE9C,(u32)(*((u16*)((u32)image->data+index))) |			       (u32)(*((u8*)((u32)image->data+index+2)))<<16);			index+=3;			break;		}	}}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/775b048d09c85d87a65a7ccd9c4f9372953a5d95/cyblafb.c/clean/drivers/video/cyblafb.c