/* Put the analog decoder in standby to keep it quiet */ cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);  
static int dvb_register(struct cx8802_dev *dev){	/* init struct videobuf_dvb */	dev->dvb.name = dev->core->name;	dev->ts_gen_cntrl = 0x0c;	/* init frontend */	switch (dev->core->board) {#ifdef HAVE_CX22702	case CX88_BOARD_HAUPPAUGE_DVB_T1:		dev->dvb.frontend = cx22702_attach(&hauppauge_novat_config,						   &dev->core->i2c_adap);		break;	case CX88_BOARD_TERRATEC_CINERGY_1400_DVB_T1:	case CX88_BOARD_CONEXANT_DVB_T1:	case CX88_BOARD_WINFAST_DTV1000:		dev->dvb.frontend = cx22702_attach(&connexant_refboard_config,						   &dev->core->i2c_adap);		break;#endif#ifdef HAVE_MT352	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T1:		dev->core->pll_addr = 0x61;		dev->core->pll_desc = &dvb_pll_lg_z201;		dev->dvb.frontend = mt352_attach(&dvico_fusionhdtv,						 &dev->core->i2c_adap);		break;	case CX88_BOARD_DVICO_FUSIONHDTV_DVB_T_PLUS:		dev->core->pll_addr = 0x60;		dev->core->pll_desc = &dvb_pll_thomson_dtt7579;		dev->dvb.frontend = mt352_attach(&dvico_fusionhdtv,						 &dev->core->i2c_adap);		break;	case CX88_BOARD_KWORLD_DVB_T:	case CX88_BOARD_DNTV_LIVE_DVB_T:	case CX88_BOARD_ADSTECH_DVB_T_PCI:		dev->core->pll_addr = 0x61;		dev->core->pll_desc = &dvb_pll_unknown_1;		dev->dvb.frontend = mt352_attach(&dntv_live_dvbt_config,						 &dev->core->i2c_adap);		break;#endif#ifdef HAVE_OR51132	case CX88_BOARD_PCHDTV_HD3000:		dev->dvb.frontend = or51132_attach(&pchdtv_hd3000,						 &dev->core->i2c_adap);		break;#endif#ifdef HAVE_LGDT330X	case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_Q:		dev->ts_gen_cntrl = 0x08;		{		/* Do a hardware reset of chip before using it. */		struct cx88_core *core = dev->core;		cx_clear(MO_GP0_IO, 1);		mdelay(100);		cx_set(MO_GP0_IO, 1);		mdelay(200);		/* Select RF connector callback */		fusionhdtv_3_gold.pll_rf_set = lgdt330x_pll_rf_set;		dev->core->pll_addr = 0x61;		dev->core->pll_desc = &dvb_pll_microtune_4042;		dev->dvb.frontend = lgdt330x_attach(&fusionhdtv_3_gold,						    &dev->core->i2c_adap);		}		break;	case CX88_BOARD_DVICO_FUSIONHDTV_3_GOLD_T:		dev->ts_gen_cntrl = 0x08;		{		/* Do a hardware reset of chip before using it. */		struct cx88_core *core = dev->core;		cx_clear(MO_GP0_IO, 1);		mdelay(100);		cx_set(MO_GP0_IO, 9);		mdelay(200);		dev->core->pll_addr = 0x61;		dev->core->pll_desc = &dvb_pll_thomson_dtt7611;		dev->dvb.frontend = lgdt330x_attach(&fusionhdtv_3_gold,						    &dev->core->i2c_adap);		}		break;	case CX88_BOARD_DVICO_FUSIONHDTV_5_GOLD:		dev->ts_gen_cntrl = 0x08;		{		/* Do a hardware reset of chip before using it. */		struct cx88_core *core = dev->core;		cx_clear(MO_GP0_IO, 1);		mdelay(100);		cx_set(MO_GP0_IO, 1);		mdelay(200);		dev->core->pll_addr = 0x61;		dev->core->pll_desc = &dvb_pll_tdvs_tua6034;		dev->dvb.frontend = lgdt330x_attach(&fusionhdtv_5_gold,						    &dev->core->i2c_adap);		}		break;#endif#ifdef HAVE_NXT200X	case CX88_BOARD_ATI_HDTVWONDER:		dev->dvb.frontend = nxt200x_attach(&ati_hdtvwonder,						 &dev->core->i2c_adap);		break;#endif	default:		printk("%s: The frontend of your DVB/ATSC card isn't supported yet\n",		       dev->core->name);		break;	}	if (NULL == dev->dvb.frontend) {		printk("%s: frontend initialization failed\n",dev->core->name);		return -1;	}	if (dev->core->pll_desc) {		dev->dvb.frontend->ops->info.frequency_min = dev->core->pll_desc->min;		dev->dvb.frontend->ops->info.frequency_max = dev->core->pll_desc->max;	}	/* Put the analog decoder in standby to keep it quiet */	cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);	/* Put the analog decoder in standby to keep it quiet */	cx88_call_i2c_clients (dev->core, TUNER_SET_STANDBY, NULL);	/* register everything */	return videobuf_dvb_register(&dev->dvb, THIS_MODULE, dev);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9e1e28da4059ce293334a8e820955a0ce320b07b/cx88-dvb.c/clean/drivers/media/video/cx88/cx88-dvb.c