lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Date:	Sun, 23 Sep 2012 19:20:04 +0200
From:	Federico Vaga <federico.vaga@...il.com>
To:	Hans Verkuil <hverkuil@...all.nl>
Cc:	Mauro Carvalho Chehab <mchehab@...radead.org>,
	Pawel Osciak <pawel@...iak.com>,
	Marek Szyprowski <m.szyprowski@...sung.com>,
	Hans Verkuil <hans.verkuil@...co.com>,
	Giancarlo Asnaghi <giancarlo.asnaghi@...com>,
	linux-media@...r.kernel.org, linux-kernel@...r.kernel.org,
	Jonathan Corbet <corbet@....net>
Subject: Re: [PATCH v2 3/4] sta2x11_vip: convert to videobuf2 and control framework

> > +struct sta2x11_vip_fh {
> > +	struct v4l2_fh fh;
> > +};
> 
> No need to make a sta2x11_vip_fh struct, just use v4l2_fh directly. It
> doesn't add anything. In fact, it's not even used.

Thank you :)


> >  static int vidioc_try_fmt_vid_cap(struct file *file, void *priv,
> >  
> >  				  struct v4l2_format *f)
> >  
> >  {
> > 
> > -	struct video_device *dev = priv;
> > -	struct sta2x11_vip *vip = video_get_drvdata(dev);
> > +	struct sta2x11_vip *vip = video_drvdata(file);
> > 
> >  	int interlace_lim;
> > 
> > -	if (V4L2_PIX_FMT_UYVY != f->fmt.pix.pixelformat)
> > -		return -EINVAL;
> > -
> > 
> >  	if (V4L2_STD_525_60 & vip->std)
> >  	
> >  		interlace_lim = 240;
> >  	
> >  	else
> > 
> > @@ -827,6 +522,8 @@ static int vidioc_try_fmt_vid_cap(struct file
> > *file, void *priv,> 
> >  		return -EINVAL;
> 
> No -EINVAL allowed anymore in try_fmt_vid_cap. I generally handle
> unknown field values in try_fmt_vid_cap as if FIELD_ANY was
> specified.

ok, unknown -> any

> > 
> >  	memcpy(&vip->format, &f->fmt.pix, sizeof(struct 
v4l2_pix_format));
> 
> Just use an assignment: vip->format = f->fmt.pix
> 

> > 
> >  	memcpy(&f->fmt.pix, &vip->format, sizeof(struct 
v4l2_pix_format));
> 
> Assignment
> 

Fixed


> > -
> > 
> >  static const struct v4l2_ioctl_ops vip_ioctl_ops = {
> >  
> >  	.vidioc_querycap = vidioc_querycap,
> > 
> > -	.vidioc_s_std = vidioc_s_std,
> > +	/* FMT handling */
> > +	.vidioc_enum_fmt_vid_cap = vidioc_enum_fmt_vid_cap,
> > +	.vidioc_g_fmt_vid_cap = vidioc_g_fmt_vid_cap,
> > +	.vidioc_s_fmt_vid_cap = vidioc_s_fmt_vid_cap,
> > +	.vidioc_try_fmt_vid_cap = vidioc_try_fmt_vid_cap,
> > +	/* Buffer handlers */
> > +	.vidioc_reqbufs = vb2_ioctl_reqbufs,
> > +	.vidioc_querybuf = vb2_ioctl_querybuf,
> > +	.vidioc_qbuf = vb2_ioctl_qbuf,
> > +	.vidioc_dqbuf = vb2_ioctl_dqbuf,
> > +	.vidioc_create_bufs = vb2_ioctl_create_bufs,
> 
> If you want to use create_bufs, then in queue_setup() you need to
> handle the fmt argument. See e.g. vivi.c for an example.

Fixed

I will send a patch v3 tomorrow
-- 
Federico Vaga
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ