ivideo->vbflags |= VB_301C; 
ivideo->vbflags |= VB_301C;	/* Deprecated */ ivideo->vbflags2 |= VB2_301C; 
static void __devinit sisfb_get_VB_type(struct sis_video_info *ivideo){	char stdstr[]    = "sisfb: Detected";	char bridgestr[] = "video bridge";	u8 vb_chipid;	u8 reg;	inSISIDXREG(SISPART4, 0x00, vb_chipid);	switch(vb_chipid) {	case 0x01:		inSISIDXREG(SISPART4, 0x01, reg);		if(reg < 0xb0) {			ivideo->vbflags |= VB_301;			printk(KERN_INFO "%s SiS301 %s\n", stdstr, bridgestr);		} else if(reg < 0xc0) {		 	ivideo->vbflags |= VB_301B;			inSISIDXREG(SISPART4,0x23,reg);			if(!(reg & 0x02)) {			   ivideo->vbflags |= VB_30xBDH;			   printk(KERN_INFO "%s SiS301B-DH %s\n", stdstr, bridgestr);			} else {			   printk(KERN_INFO "%s SiS301B %s\n", stdstr, bridgestr);			}		} else if(reg < 0xd0) {		 	ivideo->vbflags |= VB_301C;			printk(KERN_INFO "%s SiS301C %s\n", stdstr, bridgestr);		} else if(reg < 0xe0) {			ivideo->vbflags |= VB_301LV;			printk(KERN_INFO "%s SiS301LV %s\n", stdstr, bridgestr);		} else if(reg <= 0xe1) {		        inSISIDXREG(SISPART4,0x39,reg);			if(reg == 0xff) {			   ivideo->vbflags |= VB_302LV;			   printk(KERN_INFO "%s SiS302LV %s\n", stdstr, bridgestr);			} else {			   ivideo->vbflags |= VB_301C;			   printk(KERN_INFO "%s SiS301C(P4) %s\n", stdstr, bridgestr);#if 0			   ivideo->vbflags |= VB_302ELV;			   printk(KERN_INFO "%s SiS302ELV %s\n", stdstr, bridgestr);#endif			}		}		break;	case 0x02:		ivideo->vbflags |= VB_302B;		printk(KERN_INFO "%s SiS302B %s\n", stdstr, bridgestr);		break;	}	if((!(ivideo->vbflags & VB_VIDEOBRIDGE)) && (ivideo->chip != SIS_300)) {		inSISIDXREG(SISCR, 0x37, reg);		reg &= SIS_EXTERNAL_CHIP_MASK;		reg >>= 1;		if(ivideo->sisvga_engine == SIS_300_VGA) {#ifdef CONFIG_FB_SIS_300			switch(reg) {			   case SIS_EXTERNAL_CHIP_LVDS:				ivideo->vbflags |= VB_LVDS;				break;			   case SIS_EXTERNAL_CHIP_TRUMPION:				ivideo->vbflags |= VB_TRUMPION;				break;			   case SIS_EXTERNAL_CHIP_CHRONTEL:				ivideo->vbflags |= VB_CHRONTEL;				break;			   case SIS_EXTERNAL_CHIP_LVDS_CHRONTEL:				ivideo->vbflags |= (VB_LVDS | VB_CHRONTEL);				break;			}			if(ivideo->vbflags & VB_CHRONTEL) ivideo->chronteltype = 1;#endif		} else if(ivideo->chip < SIS_661) {#ifdef CONFIG_FB_SIS_315			switch (reg) {	 	   	   case SIS310_EXTERNAL_CHIP_LVDS:				ivideo->vbflags |= VB_LVDS;				break;		   	   case SIS310_EXTERNAL_CHIP_LVDS_CHRONTEL:				ivideo->vbflags |= (VB_LVDS | VB_CHRONTEL);				break;			}			if(ivideo->vbflags & VB_CHRONTEL) ivideo->chronteltype = 2;#endif		} else if(ivideo->chip >= SIS_661) {#ifdef CONFIG_FB_SIS_315			inSISIDXREG(SISCR, 0x38, reg);			reg >>= 5;			switch(reg) {			   case 0x02:				ivideo->vbflags |= VB_LVDS;				break;			   case 0x03:				ivideo->vbflags |= (VB_LVDS | VB_CHRONTEL);				break;			   case 0x04:				ivideo->vbflags |= (VB_LVDS | VB_CONEXANT);				break;			}			if(ivideo->vbflags & VB_CHRONTEL) ivideo->chronteltype = 2;#endif		}		if(ivideo->vbflags & VB_LVDS) {		   printk(KERN_INFO "%s LVDS transmitter\n", stdstr);		}		if(ivideo->vbflags & VB_TRUMPION) {		   printk(KERN_INFO "%s Trumpion Zurac LCD scaler\n", stdstr);		}		if(ivideo->vbflags & VB_CHRONTEL) {		   printk(KERN_INFO "%s Chrontel TV encoder\n", stdstr);		}		if(ivideo->vbflags & VB_CONEXANT) {		   printk(KERN_INFO "%s Conexant external device\n", stdstr);		}	}	if(ivideo->vbflags & VB_SISBRIDGE) {		SiS_Sense30x(ivideo);	} else if(ivideo->vbflags & VB_CHRONTEL) {		SiS_SenseCh(ivideo);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/544393fe584d333480659a4bed30f5295355df11/sis_main.c/clean/drivers/video/sis/sis_main.c