dvb_unregister_adapter(card->dvb_adapter); 
dvb_unregister_adapter(&card->dvb_adapter); 
static int __init dvb_bt8xx_load_card(struct dvb_bt8xx_card *card, u32 type){	int result;	if ((result = dvb_register_adapter(&card->dvb_adapter, card->card_name,					   THIS_MODULE)) < 0) {		printk("dvb_bt8xx: dvb_register_adapter failed (errno = %d)\n", result);		return result;	}	card->dvb_adapter->priv = card;	card->bt->adapter = card->i2c_adapter;	memset(&card->demux, 0, sizeof(struct dvb_demux));	card->demux.dmx.capabilities = DMX_TS_FILTERING | DMX_SECTION_FILTERING | DMX_MEMORY_BASED_FILTERING;	card->demux.priv = card;	card->demux.filternum = 256;	card->demux.feednum = 256;	card->demux.start_feed = dvb_bt8xx_start_feed;	card->demux.stop_feed = dvb_bt8xx_stop_feed;	card->demux.write_to_decoder = NULL;	if ((result = dvb_dmx_init(&card->demux)) < 0) {		printk("dvb_bt8xx: dvb_dmx_init failed (errno = %d)\n", result);		dvb_unregister_adapter(card->dvb_adapter);		return result;	}	card->dmxdev.filternum = 256;	card->dmxdev.demux = &card->demux.dmx;	card->dmxdev.capabilities = 0;	if ((result = dvb_dmxdev_init(&card->dmxdev, card->dvb_adapter)) < 0) {		printk("dvb_bt8xx: dvb_dmxdev_init failed (errno = %d)\n", result);		dvb_dmx_release(&card->demux);		dvb_unregister_adapter(card->dvb_adapter);		return result;	}	card->fe_hw.source = DMX_FRONTEND_0;	if ((result = card->demux.dmx.add_frontend(&card->demux.dmx, &card->fe_hw)) < 0) {		printk("dvb_bt8xx: dvb_dmx_init failed (errno = %d)\n", result);		dvb_dmxdev_release(&card->dmxdev);		dvb_dmx_release(&card->demux);		dvb_unregister_adapter(card->dvb_adapter);		return result;	}	card->fe_mem.source = DMX_MEMORY_FE;	if ((result = card->demux.dmx.add_frontend(&card->demux.dmx, &card->fe_mem)) < 0) {		printk("dvb_bt8xx: dvb_dmx_init failed (errno = %d)\n", result);		card->demux.dmx.remove_frontend(&card->demux.dmx, &card->fe_hw);		dvb_dmxdev_release(&card->dmxdev);		dvb_dmx_release(&card->demux);		dvb_unregister_adapter(card->dvb_adapter);		return result;	}	if ((result = card->demux.dmx.connect_frontend(&card->demux.dmx, &card->fe_hw)) < 0) {		printk("dvb_bt8xx: dvb_dmx_init failed (errno = %d)\n", result);		card->demux.dmx.remove_frontend(&card->demux.dmx, &card->fe_mem);		card->demux.dmx.remove_frontend(&card->demux.dmx, &card->fe_hw);		dvb_dmxdev_release(&card->dmxdev);		dvb_dmx_release(&card->demux);		dvb_unregister_adapter(card->dvb_adapter);		return result;	}	dvb_net_init(card->dvb_adapter, &card->dvbnet, &card->demux.dmx);	tasklet_init(&card->bt->tasklet, dvb_bt8xx_task, (unsigned long) card);	frontend_init(card, type);	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/fdc53a6dbfea18e621dd23ed5cfb160837d7ce52/dvb-bt8xx.c/clean/drivers/media/dvb/bt8xx/dvb-bt8xx.c