[libcamera-devel] [PATCH v3 1/3] include: linux: Import videodev2.h from Linux v4.19

Niklas Söderlund niklas.soderlund at ragnatech.se
Wed Jan 16 15:25:38 CET 2019


Hi Kieran,

Thanks for your work.

On 2019-01-16 10:24:17 +0000, Kieran Bingham wrote:
> Hi Laurent,
> 
> On 16/01/2019 00:21, Laurent Pinchart wrote:
> > Hi Kieran,
> > 
> > Thank you for the patch.
> > 
> > On Tue, Jan 15, 2019 at 11:19:07PM +0000, Kieran Bingham wrote:
> >> Import the linux/videodev2.h from the installed linux kernel headers.
> >>
> >> Signed-off-by: Kieran Bingham <kieran.bingham at ideasonboard.com>
> >> ---
> >>  include/linux/videodev2.h | 2412 +++++++++++++++++++++++++++++++++++++
> >>  1 file changed, 2412 insertions(+)
> >>  create mode 100644 include/linux/videodev2.h
> >>
> >> diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h
> >> new file mode 100644
> >> index 000000000000..1a95662f5ad0
> >> --- /dev/null
> >> +++ b/include/linux/videodev2.h
> >> @@ -0,0 +1,2412 @@
> >> +/* SPDX-License-Identifier: ((GPL-2.0+ WITH Linux-syscall-note) OR BSD-3-Clause) */
> >> +/*
> >> + *  Video for Linux Two header file
> >> + *
> >> + *  Copyright (C) 1999-2012 the contributors
> >> + *
> >> + *  This program is free software; you can redistribute it and/or modify
> >> + *  it under the terms of the GNU General Public License as published by
> >> + *  the Free Software Foundation; either version 2 of the License, or
> >> + *  (at your option) any later version.
> >> + *
> >> + *  This program is distributed in the hope that it will be useful,
> >> + *  but WITHOUT ANY WARRANTY; without even the implied warranty of
> >> + *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
> >> + *  GNU General Public License for more details.
> >> + *
> >> + *  Alternatively you can redistribute this file under the terms of the
> >> + *  BSD license as stated below:
> >> + *
> >> + *  Redistribution and use in source and binary forms, with or without
> >> + *  modification, are permitted provided that the following conditions
> >> + *  are met:
> >> + *  1. Redistributions of source code must retain the above copyright
> >> + *     notice, this list of conditions and the following disclaimer.
> >> + *  2. Redistributions in binary form must reproduce the above copyright
> >> + *     notice, this list of conditions and the following disclaimer in
> >> + *     the documentation and/or other materials provided with the
> >> + *     distribution.
> >> + *  3. The names of its contributors may not be used to endorse or promote
> >> + *     products derived from this software without specific prior written
> >> + *     permission.
> >> + *
> >> + *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
> >> + *  "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
> >> + *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
> >> + *  A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
> >> + *  OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> >> + *  SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
> >> + *  TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
> >> + *  PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
> >> + *  LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
> >> + *  NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
> >> + *  SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
> >> + *
> >> + *	Header file for v4l or V4L2 drivers and applications
> >> + * with public API.
> >> + * All kernel-specific stuff were moved to media/v4l2-dev.h, so
> >> + * no #if __KERNEL tests are allowed here
> >> + *
> >> + *	See https://linuxtv.org for more info
> >> + *
> >> + *	Author: Bill Dirks <bill at thedirks.org>
> >> + *		Justin Schoeman
> >> + *              Hans Verkuil <hverkuil at xs4all.nl>
> >> + *		et al.
> >> + */
> >> +#ifndef __LINUX_VIDEODEV2_H
> >> +#define __LINUX_VIDEODEV2_H
> >> +
> >> +#include <sys/time.h>
> >> +
> >> +#include <linux/ioctl.h>
> >> +#include <linux/types.h>
> >> +#include <linux/v4l2-common.h>
> >> +#include <linux/v4l2-controls.h>
> > 
> > I would recommend importing v4l2-common.h and v4l2-controls.h as well to
> > make sure the V4L2 API stays consistent.
> 
> I still really dislike keeping kernel headers in the project - but if
> it's the best route - how about we keep a set of all the V4L2 headers ?
> 
> We already have media.h, (and now videodev2.h)
> Perhaps we should in one hit import :
> 
>   v4l2-common.h    v4l2-controls.h  v4l2-dv-timings.h
>   v4l2-mediabus.h  v4l2-subdev.h    media-bus-format.h
> 
> as well ?
> 
> If we have to keep a copy of the V4L2(well linux-media) API definitions
> - I'd rather have a full complete version synchronised set, which is
> updated together whenever it gets updated.
> 
> Any immediate objections?

My personal view is that we should add headers as we need them but I 
have no objection to adding all of them if that is the consensus.

With or without additional headers,

Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>

> 
> --
> Kieran
> 
> 
> 
> > With this fixed,
> > 
> > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > 
> > [snip]
> > 
> 
> -- 
> Regards
> --
> Kieran
> _______________________________________________
> libcamera-devel mailing list
> libcamera-devel at lists.libcamera.org
> https://lists.libcamera.org/listinfo/libcamera-devel

-- 
Regards,
Niklas Söderlund


More information about the libcamera-devel mailing list