break;  case 0x1004: ttusb->fe = ves1820_attach(&alps_tdbe2_config, &ttusb->i2c_adap, read_pwm(ttusb)); if (ttusb->fe != NULL) break; 
static void frontend_init(struct ttusb* ttusb){	switch(le16_to_cpu(ttusb->dev->descriptor.idProduct)) {	case 0x1003: // Hauppauge/TT Nova-USB-S budget (stv0299/ALPS BSRU6|BSBE1(tsa5059))		// try the stv0299 based first		ttusb->fe = stv0299_attach(&alps_stv0299_config, &ttusb->i2c_adap);		if (ttusb->fe != NULL) {			if(ttusb->revision == TTUSB_REV_2_2) { // ALPS BSBE1				alps_stv0299_config.inittab = alps_bsbe1_inittab;				ttusb->fe->ops->set_voltage = lnbp21_set_voltage;			} else { // ALPS BSRU6				ttusb->fe->ops->set_voltage = ttusb_set_voltage;			}			break;		}		// Grundig 29504-491		ttusb->fe = tda8083_attach(&ttusb_novas_grundig_29504_491_config, &ttusb->i2c_adap);		if (ttusb->fe != NULL) {			ttusb->fe->ops->set_voltage = ttusb_set_voltage;			break;		}		break;	case 0x1005: // Hauppauge/TT Nova-USB-t budget (tda10046/Philips td1316(tda6651tt) OR cx22700/ALPS TDMB7(??))		// try the ALPS TDMB7 first		ttusb->fe = cx22700_attach(&alps_tdmb7_config, &ttusb->i2c_adap);		if (ttusb->fe != NULL)			break;		// Philips td1316		ttusb->fe = tda10046_attach(&philips_tdm1316l_config, &ttusb->i2c_adap);		if (ttusb->fe != NULL)			break;		break;	}	if (ttusb->fe == NULL) {		printk("dvb-ttusb-budget: A frontend driver was not found for device %04x/%04x\n",		       le16_to_cpu(ttusb->dev->descriptor.idVendor),		       le16_to_cpu(ttusb->dev->descriptor.idProduct));	} else {		if (dvb_register_frontend(&ttusb->adapter, ttusb->fe)) {			printk("dvb-ttusb-budget: Frontend registration failed!\n");			if (ttusb->fe->ops->release)				ttusb->fe->ops->release(ttusb->fe);			ttusb->fe = NULL;		}	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/53936391741dee735304e997e2289500adf970c7/dvb-ttusb-budget.c/buggy/drivers/media/dvb/ttusb-budget/dvb-ttusb-budget.c