struct video_device *vdev = video_devdata(file); struct em2820 *dev = (struct em2820 *)video_get_drvdata(vdev); 
static int em2820_v4l2_close(struct inode *inode, struct file *file){	struct video_device *vdev = video_devdata(file);	struct em2820 *dev = (struct em2820 *)video_get_drvdata(vdev);	int errCode;	em2820_videodbg("users=%d", dev->users);	down(&dev->lock);	em2820_uninit_isoc(dev);	em2820_release_buffers(dev);	/* the device is already disconnect, free the remaining resources */	if (dev->state & DEV_DISCONNECTED) {		em2820_release_resources(dev);		up(&dev->lock);		kfree(dev);		return 0;	}	/* set alternate 0 */	dev->alt = 0;	em2820_videodbg("setting alternate 0");	errCode = usb_set_interface(dev->udev, 0, 0);	if (errCode < 0) {		em2820_errdev ("cannot change alternate number to 0 (error=%i)\n",		     errCode);	}	dev->users--;	wake_up_interruptible_nr(&dev->open, 1);	up(&dev->lock);	return 0;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9c75541fc97252e605b7bc8f9b09f816483e22fb/em28xx-video.c/clean/drivers/media/video/em28xx/em28xx-video.c