[libcamera-devel] [PATCH v3 1/3] include: linux: Import videodev2.h from Linux v4.19
Laurent Pinchart
laurent.pinchart at ideasonboard.com
Wed Jan 16 16:20:05 CET 2019
Hello,
On Wed, Jan 16, 2019 at 03:25:38PM +0100, Niklas Söderlund wrote:
> On 2019-01-16 10:24:17 +0000, Kieran Bingham wrote:
> > On 16/01/2019 00:21, Laurent Pinchart wrote:
> > > 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.
That's my opinion too, but I won't object against adding headers we
don't use now but know we will use in the future. I would leave
v4l2-dv-timings.h out as I don't think we'll need it, the other ones can
be added.
> With or without additional headers,
>
> Reviewed-by: Niklas Söderlund <niklas.soderlund at ragnatech.se>
>
> > > With this fixed,
> > >
> > > Reviewed-by: Laurent Pinchart <laurent.pinchart at ideasonboard.com>
> > >
> > > [snip]
--
Regards,
Laurent Pinchart
More information about the libcamera-devel
mailing list