struct em2820 *dev = filp->private_data; 
static unsigned int em2820_v4l2_poll(struct file *filp, poll_table * wait){	struct em2820 *dev = video_get_drvdata(video_devdata(filp));	unsigned int mask = 0;	if (down_interruptible(&dev->fileop_lock))		return POLLERR;	if (dev->state & DEV_DISCONNECTED) {		em2820_videodbg("device not present");	} else if (dev->state & DEV_MISCONFIGURED) {		em2820_videodbg("device is misconfigured; close and open it again");	} else {		if (dev->io == IO_NONE) {			if (!em2820_request_buffers			    (dev, EM2820_NUM_READ_FRAMES)) {				em2820_warn				    ("poll() failed, not enough memory\n");			} else {				dev->io = IO_READ;				dev->stream = STREAM_ON;			}		}		if (dev->io == IO_READ) {			em2820_queue_unusedframes(dev);			poll_wait(filp, &dev->wait_frame, wait);			if (!list_empty(&dev->outqueue))				mask |= POLLIN | POLLRDNORM;			up(&dev->fileop_lock);			return mask;		}	}	up(&dev->fileop_lock);	return POLLERR;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/9c75541fc97252e605b7bc8f9b09f816483e22fb/em28xx-video.c/clean/drivers/media/video/em28xx/em28xx-video.c