dvb_net_init(adapter->dvb_adapter, &adapter->dvbnet, &dvbdemux->dmx); 
dvb_net_init(&adapter->dvb_adapter, &adapter->dvbnet, &dvbdemux->dmx); 
static int skystar2_probe(struct pci_dev *pdev, const struct pci_device_id *ent){	struct adapter *adapter;	struct dvb_adapter *dvb_adapter;	struct dvb_demux *dvbdemux;	struct dmx_demux *dmx;	int ret = -ENODEV;	if (!pdev)		goto out;	ret = driver_initialize(pdev);	if (ret < 0)		goto out;	ret = dvb_register_adapter(&dvb_adapter, skystar2_pci_driver.name,				   THIS_MODULE);	if (ret < 0) {		printk("%s: Error registering DVB adapter\n", __FUNCTION__);		goto err_halt;	}	adapter = pci_get_drvdata(pdev);	dvb_adapter->priv = adapter;	adapter->dvb_adapter = dvb_adapter;	init_MUTEX(&adapter->i2c_sem);	memset(&adapter->i2c_adap, 0, sizeof(struct i2c_adapter));	strcpy(adapter->i2c_adap.name, "SkyStar2");	i2c_set_adapdata(&adapter->i2c_adap, adapter);#ifdef I2C_ADAP_CLASS_TV_DIGITAL	adapter->i2c_adap.class 	    = I2C_ADAP_CLASS_TV_DIGITAL;#else	adapter->i2c_adap.class 	    = I2C_CLASS_TV_DIGITAL;#endif	adapter->i2c_adap.algo              = &flexcop_algo;	adapter->i2c_adap.algo_data         = NULL;	adapter->i2c_adap.id                = I2C_ALGO_BIT;	ret = i2c_add_adapter(&adapter->i2c_adap);	if (ret < 0)		goto err_dvb_unregister;	dvbdemux = &adapter->demux;	dvbdemux->priv = adapter;	dvbdemux->filternum = N_PID_SLOTS;	dvbdemux->feednum = N_PID_SLOTS;	dvbdemux->start_feed = dvb_start_feed;	dvbdemux->stop_feed = dvb_stop_feed;	dvbdemux->write_to_decoder = NULL;	dvbdemux->dmx.capabilities = (DMX_TS_FILTERING | DMX_SECTION_FILTERING | DMX_MEMORY_BASED_FILTERING);	ret = dvb_dmx_init(&adapter->demux);	if (ret < 0)		goto err_i2c_del;	dmx = &dvbdemux->dmx;	adapter->hw_frontend.source = DMX_FRONTEND_0;	adapter->dmxdev.filternum = N_PID_SLOTS;	adapter->dmxdev.demux = dmx;	adapter->dmxdev.capabilities = 0;	ret = dvb_dmxdev_init(&adapter->dmxdev, adapter->dvb_adapter);	if (ret < 0)		goto err_dmx_release;	ret = dmx->add_frontend(dmx, &adapter->hw_frontend);	if (ret < 0)		goto err_dmxdev_release;	adapter->mem_frontend.source = DMX_MEMORY_FE;	ret = dmx->add_frontend(dmx, &adapter->mem_frontend);	if (ret < 0)		goto err_remove_hw_frontend;	ret = dmx->connect_frontend(dmx, &adapter->hw_frontend);	if (ret < 0)		goto err_remove_mem_frontend;	dvb_net_init(adapter->dvb_adapter, &adapter->dvbnet, &dvbdemux->dmx);	frontend_init(adapter);out:	return ret;err_remove_mem_frontend:	dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &adapter->mem_frontend);err_remove_hw_frontend:	dvbdemux->dmx.remove_frontend(&dvbdemux->dmx, &adapter->hw_frontend);err_dmxdev_release:	dvb_dmxdev_release(&adapter->dmxdev);err_dmx_release:	dvb_dmx_release(&adapter->demux);err_i2c_del:	i2c_del_adapter(&adapter->i2c_adap);err_dvb_unregister:	dvb_unregister_adapter(adapter->dvb_adapter);err_halt:	driver_halt(pdev);	goto out;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fdc53a6dbfea18e621dd23ed5cfb160837d7ce52/skystar2.c/buggy/drivers/media/dvb/b2c2/skystar2.c