From 43db48d3d2f6326c571984b7b30ab355596bb3cc Mon Sep 17 00:00:00 2001 From: Mauro Carvalho Chehab Date: Tue, 9 Jan 2007 11:20:59 -0300 Subject: V4L/DVB (5068): Fix authorship references Bill Dirks asked me to update his entries at kernel files, since he change his e-mail. I've also updated a few web broken links or obsolete info to the curent sites where V4L drivers and API are being discussed currently. CC: Bill Dirks Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index d94e2683be52..112b28c1f63a 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -8,7 +8,7 @@ * * See http://linuxtv.org for more info * - * Author: Bill Dirks + * Author: Bill Dirks * Justin Schoeman * et al. */ -- cgit v1.2.3 From 52ebc763d8e0c9f2ab48af89a75e90e2318bac86 Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Tue, 23 Jan 2007 22:38:13 -0300 Subject: V4L/DVB (5146): Make VIDIOC_INT_[SG]_REGISTER ioctls no longer internal only The direct register access ioctls were defined as kernel internal only, but they are very useful for debugging hardware from userspace and are used as such. Officially export them. VIDIOC_INT_[SG]_REGISTER is renamed to VIDIOC_DBG_[SG]_REGISTER Definition of ioctl and struct v4l2_register is moved from v4l2-common.h to videodev2.h. Types used in struct v4l2_register are changed to the userspace exportable versions (u32 -> __u32, etc). Use of VIDIOC_DBG_S_REGISTER requires CAP_SYS_ADMIN permission, so move the check into the video_ioctl2() dispatcher so it doesn't need to be duplicated in each driver's call-back function. CAP_SYS_ADMIN check is added to pvrusb2 (which doesn't use video_ioctl2). Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 112b28c1f63a..fe6ccdfa9d48 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1270,6 +1270,17 @@ struct v4l2_streamparm } parm; }; +/* + * A D V A N C E D D E B U G G I N G + */ + +/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ +struct v4l2_register { + __u32 i2c_id; /* I2C driver ID of the I2C chip, or 0 for the host */ + __u32 reg; + __u32 val; +}; + /* * I O C T L C O D E S F O R V I D E O D E V I C E S * @@ -1339,6 +1350,9 @@ struct v4l2_streamparm #define VIDIOC_ENUM_FRAMESIZES _IOWR ('V', 74, struct v4l2_frmsizeenum) #define VIDIOC_ENUM_FRAMEINTERVALS _IOWR ('V', 75, struct v4l2_frmivalenum) #endif +/* only implemented if CONFIG_VIDEO_ADV_DEBUG is defined */ +#define VIDIOC_DBG_S_REGISTER _IOW ('d', 100, struct v4l2_register) +#define VIDIOC_DBG_G_REGISTER _IOWR('d', 101, struct v4l2_register) #ifdef __OLD_VIDIOC_ /* for compatibility, will go away some day */ -- cgit v1.2.3 From e7b58f5259a81dbd9fbfea79408d272f44eb894f Mon Sep 17 00:00:00 2001 From: Trent Piepho Date: Tue, 30 Jan 2007 22:47:18 -0300 Subject: V4L/DVB (5162): Change VIDIOC_DBG_[SG]_REGISTER ioctls' reg address to 64 bits Maybe someday there will be a device with a register address space > 32-bits, or maybe an i2c device which uses a protocol > 4 bytes long to address its registers. Signed-off-by: Trent Piepho Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index fe6ccdfa9d48..ad4de64e04d3 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1276,8 +1276,8 @@ struct v4l2_streamparm /* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */ struct v4l2_register { + __u64 reg; __u32 i2c_id; /* I2C driver ID of the I2C chip, or 0 for the host */ - __u32 reg; __u32 val; }; -- cgit v1.2.3 From 4f828ef7f360ecfba6b8d81c731a56b1c8d4bc07 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 3 Feb 2007 03:19:14 -0300 Subject: V4L/DVB (5181): Sliced VBI API no longer marked experimental. The Sliced VBI API is no longer marked experimental. Introduced in 2.6.14 and with only a single modification in 2.6.19 I think we can consider this API to be solid. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 11 ----------- 1 file changed, 11 deletions(-) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index ad4de64e04d3..dec091e7236f 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -90,11 +90,8 @@ enum v4l2_buf_type { V4L2_BUF_TYPE_VIDEO_OVERLAY = 3, V4L2_BUF_TYPE_VBI_CAPTURE = 4, V4L2_BUF_TYPE_VBI_OUTPUT = 5, -#if 1 - /* Experimental Sliced VBI */ V4L2_BUF_TYPE_SLICED_VBI_CAPTURE = 6, V4L2_BUF_TYPE_SLICED_VBI_OUTPUT = 7, -#endif V4L2_BUF_TYPE_PRIVATE = 0x80, }; @@ -186,10 +183,8 @@ struct v4l2_capability #define V4L2_CAP_VIDEO_OVERLAY 0x00000004 /* Can do video overlay */ #define V4L2_CAP_VBI_CAPTURE 0x00000010 /* Is a raw VBI capture device */ #define V4L2_CAP_VBI_OUTPUT 0x00000020 /* Is a raw VBI output device */ -#if 1 #define V4L2_CAP_SLICED_VBI_CAPTURE 0x00000040 /* Is a sliced VBI capture device */ #define V4L2_CAP_SLICED_VBI_OUTPUT 0x00000080 /* Is a sliced VBI output device */ -#endif #define V4L2_CAP_RDS_CAPTURE 0x00000100 /* RDS data capture */ #define V4L2_CAP_TUNER 0x00010000 /* has a tuner */ @@ -1179,7 +1174,6 @@ struct v4l2_vbi_format #define V4L2_VBI_UNSYNC (1<< 0) #define V4L2_VBI_INTERLACED (1<< 1) -#if 1 /* Sliced VBI * * This implements is a proposal V4L2 API to allow SLICED VBI @@ -1233,7 +1227,6 @@ struct v4l2_sliced_vbi_data __u32 reserved; /* must be 0 */ __u8 data[48]; }; -#endif /* * A G G R E G A T E S T R U C T U R E S @@ -1249,9 +1242,7 @@ struct v4l2_format struct v4l2_pix_format pix; // V4L2_BUF_TYPE_VIDEO_CAPTURE struct v4l2_window win; // V4L2_BUF_TYPE_VIDEO_OVERLAY struct v4l2_vbi_format vbi; // V4L2_BUF_TYPE_VBI_CAPTURE -#if 1 struct v4l2_sliced_vbi_format sliced; // V4L2_BUF_TYPE_SLICED_VBI_CAPTURE -#endif __u8 raw_data[200]; // user-defined } fmt; }; @@ -1339,9 +1330,7 @@ struct v4l2_register { #define VIDIOC_ENUMAUDOUT _IOWR ('V', 66, struct v4l2_audioout) #define VIDIOC_G_PRIORITY _IOR ('V', 67, enum v4l2_priority) #define VIDIOC_S_PRIORITY _IOW ('V', 68, enum v4l2_priority) -#if 1 #define VIDIOC_G_SLICED_VBI_CAP _IOWR ('V', 69, struct v4l2_sliced_vbi_cap) -#endif #define VIDIOC_LOG_STATUS _IO ('V', 70) #define VIDIOC_G_EXT_CTRLS _IOWR ('V', 71, struct v4l2_ext_controls) #define VIDIOC_S_EXT_CTRLS _IOWR ('V', 72, struct v4l2_ext_controls) -- cgit v1.2.3 From 2675f7a88f73bc3131b817c118fbffa5cfed8868 Mon Sep 17 00:00:00 2001 From: Hans Verkuil Date: Sat, 3 Feb 2007 03:23:44 -0300 Subject: V4L/DVB (5182): Remove #if 0 section from videodev2.h Remove a section containing basically ideas for future sliced VBI standards. This can be resurrected should any of this be actually implemented. For now it only pollutes this header file. Signed-off-by: Hans Verkuil Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 1 - 1 file changed, 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index dec091e7236f..4dc16b0898a7 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1206,7 +1206,6 @@ struct v4l2_sliced_vbi_format #define V4L2_SLICED_VBI_525 (V4L2_SLICED_CAPTION_525) #define V4L2_SLICED_VBI_625 (V4L2_SLICED_TELETEXT_B | V4L2_SLICED_VPS | V4L2_SLICED_WSS_625) - struct v4l2_sliced_vbi_cap { __u16 service_set; -- cgit v1.2.3 From b1e7df1d3543906654b9e6443aee177c8009acac Mon Sep 17 00:00:00 2001 From: Michael Schimek Date: Wed, 7 Feb 2007 09:15:01 -0300 Subject: V4L/DVB (5204): Change videodev2.h licence to dual GPL/BSD videodev2.h contains just the V4L2 API structs and defines. By allowing this header file to be dual GPL/BSD will enable sharing userspace apps between Linux and *BSD systems. It will also allow developing newer BSD licensed drivers that can be shared on Linux and *BSD. It should be noticed that most of the current V4L drivers, and v4l core itself are GPL only. This won't be changed by this patch. Signed-off-by: Michael H. Schimek Signed-off-by: Gerd Hoffmann Signed-off-by: Bill Dirks Signed-off-by: Hans Verkuil Signed-off-by: Martin Rubli Signed-off-by: Mauro Carvalho Chehab --- include/linux/videodev2.h | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) (limited to 'include/linux') diff --git a/include/linux/videodev2.h b/include/linux/videodev2.h index 4dc16b0898a7..65a165f918c9 100644 --- a/include/linux/videodev2.h +++ b/include/linux/videodev2.h @@ -1,5 +1,45 @@ /* - * Video for Linux Two + * Video for Linux Two header file + * + * Copyright (C) 1999-2007 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. @@ -10,6 +50,7 @@ * * Author: Bill Dirks * Justin Schoeman + * Hans Verkuil * et al. */ #ifndef __LINUX_VIDEODEV2_H -- cgit v1.2.3