Re: [REVIEW PATCH 5/5] v4l2-ioctl: simplify debug code.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri March 15 2013 13:25:21 Laurent Pinchart wrote:
> Hi Hans,
> 
> Thanks for the patch.
> 
> On Friday 15 March 2013 11:27:25 Hans Verkuil wrote:
> > From: Hans Verkuil <hans.verkuil@xxxxxxxxx>
> > 
> > The core debug code can now be simplified since all the write-only ioctls
> > are now const and will not modify the data they pass to the drivers.
> > 
> > So instead of logging write-only ioctls before the driver is called this can
> > now be done afterwards, which is cleaner when it comes to error reporting
> > as well.
> > 
> > This also fixes a logic error in the debugging code where there was one
> > 'else' too many.
> > 
> > Signed-off-by: Hans Verkuil <hans.verkuil@xxxxxxxxx>
> > ---
> >  drivers/media/v4l2-core/v4l2-ioctl.c |   15 ++-------------
> >  1 file changed, 2 insertions(+), 13 deletions(-)
> > 
> > diff --git a/drivers/media/v4l2-core/v4l2-ioctl.c
> > b/drivers/media/v4l2-core/v4l2-ioctl.c index 2abd13a..b3fe148 100644
> > --- a/drivers/media/v4l2-core/v4l2-ioctl.c
> > +++ b/drivers/media/v4l2-core/v4l2-ioctl.c
> > @@ -2147,11 +2147,6 @@ static long __video_do_ioctl(struct file *file,
> >  	}
> > 
> >  	write_only = _IOC_DIR(cmd) == _IOC_WRITE;
> > -	if (write_only && debug > V4L2_DEBUG_IOCTL) {
> > -		v4l_printk_ioctl(video_device_node_name(vfd), cmd);
> > -		pr_cont(": ");
> > -		info->debug(arg, write_only);
> > -	}
> >  	if (info->flags & INFO_FL_STD) {
> >  		typedef int (*vidioc_op)(struct file *file, void *fh, void *p);
> >  		const void *p = vfd->ioctl_ops;
> > @@ -2170,16 +2165,10 @@ static long __video_do_ioctl(struct file *file,
> > 
> >  done:
> >  	if (debug) {
> > -		if (write_only && debug > V4L2_DEBUG_IOCTL) {
> > -			if (ret < 0)
> > -				printk(KERN_DEBUG "%s: error %ld\n",
> > -					video_device_node_name(vfd), ret);
> > -			return ret;
> > -		}
> >  		v4l_printk_ioctl(video_device_node_name(vfd), cmd);
> >  		if (ret < 0)
> > -			pr_cont(": error %ld\n", ret);
> > -		else if (debug == V4L2_DEBUG_IOCTL)
> > +			pr_cont(": error %ld", ret);
> > +		if (debug == V4L2_DEBUG_IOCTL)
> 
> Shouldn't this be >= V4L2_DEBUG_IOCTL ?

No. V4L2_DEBUG_IOCTL is the lowest debug level and should just print the ioctl
and return code. So the else parts are for higher debug levels where all args
are also printed.

Regards,

	Hans

> 
> >  			pr_cont("\n");
> >  		else if (_IOC_DIR(cmd) == _IOC_NONE)
> >  			info->debug(arg, write_only);
> 
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-media" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Input]     [Video for Linux]     [Gstreamer Embedded]     [Mplayer Users]     [Linux USB Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Yosemite Backpacking]
  Powered by Linux