fc->owner = THIS_MODULE; 
static int flexcop_usb_probe(struct usb_interface *intf,		const struct usb_device_id *id){	struct usb_device *udev = interface_to_usbdev(intf);	struct flexcop_usb *fc_usb = NULL;	struct flexcop_device *fc = NULL;	int ret;	if ((fc = flexcop_device_kmalloc(sizeof(struct flexcop_usb))) == NULL) {		err("out of memory\n");		return -ENOMEM;	}/* general flexcop init */	fc_usb = fc->bus_specific;	fc_usb->fc_dev = fc;	fc->read_ibi_reg  = flexcop_usb_read_ibi_reg;	fc->write_ibi_reg = flexcop_usb_write_ibi_reg;	fc->i2c_request = flexcop_usb_i2c_request;	fc->get_mac_addr = flexcop_usb_get_mac_addr;	fc->stream_control = flexcop_usb_stream_control;	fc->pid_filtering = 1;	fc->bus_type = FC_USB;	fc->dev = &udev->dev;/* bus specific part */	fc_usb->udev = udev;	fc_usb->uintf = intf;	if ((ret = flexcop_usb_init(fc_usb)) != 0)		goto err_kfree;/* init flexcop */	if ((ret = flexcop_device_initialize(fc)) != 0)		goto err_usb_exit;/* xfer init */	if ((ret = flexcop_usb_transfer_init(fc_usb)) != 0)		goto err_fc_exit;	info("%s successfully initialized and connected.",DRIVER_NAME);	ret = 0;	goto success;err_fc_exit:	flexcop_device_exit(fc);err_usb_exit:	flexcop_usb_exit(fc_usb);err_kfree:	flexcop_device_kfree(fc);success:	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/59a7ad6c1ed3a058d375d2e679d73805e4f851ac/flexcop-usb.c/buggy/drivers/media/dvb/b2c2/flexcop-usb.c