spin_lock(&vino_drvdata->input_lock); 
spin_lock_irqsave(&vino_drvdata->input_lock, flags);  
static int vino_v4l2_g_parm(struct vino_channel_settings *vcs,			    struct v4l2_streamparm *sp){	switch (sp->type) {	case V4L2_BUF_TYPE_VIDEO_CAPTURE: {		struct v4l2_captureparm *cp = &sp->parm.capture;		memset(cp, 0, sizeof(struct v4l2_captureparm));		cp->capability = V4L2_CAP_TIMEPERFRAME;		cp->timeperframe.numerator = 1;		spin_lock(&vino_drvdata->input_lock);		cp->timeperframe.denominator = vcs->fps;		spin_unlock(&vino_drvdata->input_lock);		// TODO: cp->readbuffers = xxx;		break;	}	case V4L2_BUF_TYPE_VIDEO_OVERLAY:	default:		return -EINVAL;	}	return 0;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/a637a114f36b94a1ad8b9867f43bac0414958420/vino.c/buggy/drivers/media/video/vino.c