Merge branch 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6

* 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-2.6: (707 commits)
  V4L/DVB (11316): saa7191: tuner ops wasn't set.
  V4L/DVB (11315): cx25840: fix 'unused variable' warning.
  V4L/DVB (11314): au8522: remove unused I2C_DRIVERID
  V4L/DVB (11313): v4l2-subdev: add enum_framesizes and enum_frameintervals.
  V4L/DVB (11312): tuner: remove V4L1 code from this driver.
  V4L/DVB (11311): v4l: replace 'ioctl' references in v4l i2c drivers
  V4L/DVB (11310): cx18: remove intermediate 'ioctl' step
  V4L/DVB (11309): cx25840: cleanup: remove intermediate 'ioctl' step
  V4L/DVB (11308): msp3400: use the V4L2 header since no V4L1 code is there
  V4L/DVB (11305): cx88: prevent probing rtc and ir devices
  V4L/DVB (11304): v4l2: remove v4l2_subdev_command calls where they are no longer needed.
  V4L/DVB (11303): tda7432: remove legacy code for old-style i2c API
  V4L/DVB (11302): tda9875: remove legacy code for old-style i2c API
  V4L/DVB (11301): wm8775: remove legacy code for old-style i2c API
  V4L/DVB (11300): cx88: convert to v4l2_subdev.
  V4L/DVB (11298): cx25840: remove legacy code for old-style i2c API
  V4L/DVB (11297): cx23885: convert to v4l2_subdev.
  V4L/DVB (11296): cx23885: bugfix error message if firmware is not found
  V4L/DVB (11295): cx23885: convert to v4l2_device.
  V4L/DVB (11293): uvcvideo: Add zero fill for VIDIOC_ENUM_FMT
  ...
This commit is contained in:
Linus Torvalds
2009-03-30 10:09:14 -07:00
489 changed files with 48991 additions and 27835 deletions

View File

@@ -158,8 +158,6 @@ header-y += ultrasound.h
header-y += un.h
header-y += utime.h
header-y += veth.h
header-y += video_decoder.h
header-y += video_encoder.h
header-y += videotext.h
header-y += x25.h

View File

@@ -71,6 +71,7 @@
#define I2C_DRIVERID_VP27SMPX 93 /* Panasonic VP27s tuner internal MPX */
#define I2C_DRIVERID_M52790 95 /* Mitsubishi M52790SP/FP AV switch */
#define I2C_DRIVERID_CS5345 96 /* cs5345 audio processor */
#define I2C_DRIVERID_AU8522 97 /* Auvitek au8522 */
#define I2C_DRIVERID_OV7670 1048 /* Omnivision 7670 camera */
@@ -87,6 +88,7 @@
#define I2C_HW_B_CX2341X 0x010020 /* Conexant CX2341X MPEG encoder cards */
#define I2C_HW_B_CX23885 0x010022 /* conexant 23885 based tv cards (bus1) */
#define I2C_HW_B_AU0828 0x010023 /* auvitek au0828 usb bridge */
#define I2C_HW_B_HDPVR 0x010025 /* Hauppauge HD PVR */
/* --- SGI adapters */
#define I2C_HW_SGI_VINO 0x160000

View File

@@ -60,10 +60,10 @@ struct ivtv_dma_frame {
#define IVTV_IOC_DMA_FRAME _IOW ('V', BASE_VIDIOC_PRIVATE+0, struct ivtv_dma_frame)
/* These are the VBI types as they appear in the embedded VBI private packets. */
#define IVTV_SLICED_TYPE_TELETEXT_B (1)
#define IVTV_SLICED_TYPE_CAPTION_525 (4)
#define IVTV_SLICED_TYPE_WSS_625 (5)
#define IVTV_SLICED_TYPE_VPS (7)
/* Deprecated defines: applications should use the defines from videodev2.h */
#define IVTV_SLICED_TYPE_TELETEXT_B V4L2_MPEG_VBI_IVTV_TELETEXT_B
#define IVTV_SLICED_TYPE_CAPTION_525 V4L2_MPEG_VBI_IVTV_CAPTION_525
#define IVTV_SLICED_TYPE_WSS_625 V4L2_MPEG_VBI_IVTV_WSS_625
#define IVTV_SLICED_TYPE_VPS V4L2_MPEG_VBI_IVTV_VPS
#endif /* _LINUX_IVTV_H */

View File

@@ -1,48 +0,0 @@
#ifndef _LINUX_VIDEO_DECODER_H
#define _LINUX_VIDEO_DECODER_H
#include <linux/types.h>
#define HAVE_VIDEO_DECODER 1
struct video_decoder_capability { /* this name is too long */
__u32 flags;
#define VIDEO_DECODER_PAL 1 /* can decode PAL signal */
#define VIDEO_DECODER_NTSC 2 /* can decode NTSC */
#define VIDEO_DECODER_SECAM 4 /* can decode SECAM */
#define VIDEO_DECODER_AUTO 8 /* can autosense norm */
#define VIDEO_DECODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
int inputs; /* number of inputs */
int outputs; /* number of outputs */
};
/*
DECODER_GET_STATUS returns the following flags. The only one you need is
DECODER_STATUS_GOOD, the others are just nice things to know.
*/
#define DECODER_STATUS_GOOD 1 /* receiving acceptable input */
#define DECODER_STATUS_COLOR 2 /* receiving color information */
#define DECODER_STATUS_PAL 4 /* auto detected */
#define DECODER_STATUS_NTSC 8 /* auto detected */
#define DECODER_STATUS_SECAM 16 /* auto detected */
struct video_decoder_init {
unsigned char len;
const unsigned char *data;
};
#define DECODER_GET_CAPABILITIES _IOR('d', 1, struct video_decoder_capability)
#define DECODER_GET_STATUS _IOR('d', 2, int)
#define DECODER_SET_NORM _IOW('d', 3, int)
#define DECODER_SET_INPUT _IOW('d', 4, int) /* 0 <= input < #inputs */
#define DECODER_SET_OUTPUT _IOW('d', 5, int) /* 0 <= output < #outputs */
#define DECODER_ENABLE_OUTPUT _IOW('d', 6, int) /* boolean output enable control */
#define DECODER_SET_PICTURE _IOW('d', 7, struct video_picture)
#define DECODER_SET_GPIO _IOW('d', 8, int) /* switch general purpose pin */
#define DECODER_INIT _IOW('d', 9, struct video_decoder_init) /* init internal registers at once */
#define DECODER_SET_VBI_BYPASS _IOW('d', 10, int) /* switch vbi bypass */
#define DECODER_DUMP _IO('d', 192) /* debug hook */
#endif

View File

@@ -1,23 +0,0 @@
#ifndef _LINUX_VIDEO_ENCODER_H
#define _LINUX_VIDEO_ENCODER_H
#include <linux/types.h>
struct video_encoder_capability { /* this name is too long */
__u32 flags;
#define VIDEO_ENCODER_PAL 1 /* can encode PAL signal */
#define VIDEO_ENCODER_NTSC 2 /* can encode NTSC */
#define VIDEO_ENCODER_SECAM 4 /* can encode SECAM */
#define VIDEO_ENCODER_CCIR 16 /* CCIR-601 pixel rate (720 pixels per line) instead of square pixel rate */
int inputs; /* number of inputs */
int outputs; /* number of outputs */
};
#define ENCODER_GET_CAPABILITIES _IOR('e', 1, struct video_encoder_capability)
#define ENCODER_SET_NORM _IOW('e', 2, int)
#define ENCODER_SET_INPUT _IOW('e', 3, int) /* 0 <= input < #inputs */
#define ENCODER_SET_OUTPUT _IOW('e', 4, int) /* 0 <= output < #outputs */
#define ENCODER_ENABLE_OUTPUT _IOW('e', 5, int) /* boolean output enable control */
#endif

View File

@@ -16,6 +16,23 @@
#include <linux/ioctl.h>
#include <linux/videodev2.h>
#if defined(__MIN_V4L1) && defined (__KERNEL__)
/*
* Used by those V4L2 core functions that need a minimum V4L1 support,
* in order to allow V4L1 Compatibilty code compilation.
*/
struct video_mbuf
{
int size; /* Total memory to map */
int frames; /* Frames */
int offsets[VIDEO_MAX_FRAME];
};
#define VIDIOCGMBUF _IOR('v',20, struct video_mbuf) /* Memory map buffer info */
#else
#if defined(CONFIG_VIDEO_V4L1_COMPAT) || !defined (__KERNEL__)
#define VID_TYPE_CAPTURE 1 /* Can capture */
@@ -312,6 +329,7 @@ struct video_code
#define VID_PLAY_END_MARK 14
#endif /* CONFIG_VIDEO_V4L1_COMPAT */
#endif /* __MIN_V4L1 */
#endif /* __LINUX_VIDEODEV_H */

View File

@@ -344,6 +344,8 @@ struct v4l2_pix_format {
#define V4L2_PIX_FMT_SPCA508 v4l2_fourcc('S', '5', '0', '8') /* YUVY per line */
#define V4L2_PIX_FMT_SPCA561 v4l2_fourcc('S', '5', '6', '1') /* compressed GBRG bayer */
#define V4L2_PIX_FMT_PAC207 v4l2_fourcc('P', '2', '0', '7') /* compressed BGGR bayer */
#define V4L2_PIX_FMT_MR97310A v4l2_fourcc('M', '3', '1', '0') /* compressed BGGR bayer */
#define V4L2_PIX_FMT_SQ905C v4l2_fourcc('9', '0', '5', 'C') /* compressed RGGB bayer */
#define V4L2_PIX_FMT_PJPG v4l2_fourcc('P', 'J', 'P', 'G') /* Pixart 73xx JPEG */
#define V4L2_PIX_FMT_YVYU v4l2_fourcc('Y', 'V', 'Y', 'U') /* 16 YVU 4:2:2 */
@@ -829,6 +831,7 @@ struct v4l2_querymenu {
#define V4L2_CTRL_FLAG_UPDATE 0x0008
#define V4L2_CTRL_FLAG_INACTIVE 0x0010
#define V4L2_CTRL_FLAG_SLIDER 0x0020
#define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040
/* Query flag, to be ORed with the control ID */
#define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000
@@ -879,8 +882,15 @@ enum v4l2_power_line_frequency {
#define V4L2_CID_BACKLIGHT_COMPENSATION (V4L2_CID_BASE+28)
#define V4L2_CID_CHROMA_AGC (V4L2_CID_BASE+29)
#define V4L2_CID_COLOR_KILLER (V4L2_CID_BASE+30)
#define V4L2_CID_COLORFX (V4L2_CID_BASE+31)
enum v4l2_colorfx {
V4L2_COLORFX_NONE = 0,
V4L2_COLORFX_BW = 1,
V4L2_COLORFX_SEPIA = 2,
};
/* last CID + 1 */
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+31)
#define V4L2_CID_LASTP1 (V4L2_CID_BASE+32)
/* MPEG-class control IDs defined by V4L2 */
#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
@@ -1338,6 +1348,53 @@ struct v4l2_sliced_vbi_data {
__u8 data[48];
};
/*
* Sliced VBI data inserted into MPEG Streams
*/
/*
* V4L2_MPEG_STREAM_VBI_FMT_IVTV:
*
* Structure of payload contained in an MPEG 2 Private Stream 1 PES Packet in an
* MPEG-2 Program Pack that contains V4L2_MPEG_STREAM_VBI_FMT_IVTV Sliced VBI
* data
*
* Note, the MPEG-2 Program Pack and Private Stream 1 PES packet header
* definitions are not included here. See the MPEG-2 specifications for details
* on these headers.
*/
/* Line type IDs */
#define V4L2_MPEG_VBI_IVTV_TELETEXT_B (1)
#define V4L2_MPEG_VBI_IVTV_CAPTION_525 (4)
#define V4L2_MPEG_VBI_IVTV_WSS_625 (5)
#define V4L2_MPEG_VBI_IVTV_VPS (7)
struct v4l2_mpeg_vbi_itv0_line {
__u8 id; /* One of V4L2_MPEG_VBI_IVTV_* above */
__u8 data[42]; /* Sliced VBI data for the line */
} __attribute__ ((packed));
struct v4l2_mpeg_vbi_itv0 {
__le32 linemask[2]; /* Bitmasks of VBI service lines present */
struct v4l2_mpeg_vbi_itv0_line line[35];
} __attribute__ ((packed));
struct v4l2_mpeg_vbi_ITV0 {
struct v4l2_mpeg_vbi_itv0_line line[36];
} __attribute__ ((packed));
#define V4L2_MPEG_VBI_IVTV_MAGIC0 "itv0"
#define V4L2_MPEG_VBI_IVTV_MAGIC1 "ITV0"
struct v4l2_mpeg_vbi_fmt_ivtv {
__u8 magic[4];
union {
struct v4l2_mpeg_vbi_itv0 itv0;
struct v4l2_mpeg_vbi_ITV0 ITV0;
};
} __attribute__ ((packed));
/*
* A G G R E G A T E S T R U C T U R E S
*/
@@ -1403,14 +1460,6 @@ struct v4l2_dbg_chip_ident {
__u32 revision; /* chip revision, chip specific */
} __attribute__ ((packed));
/* VIDIOC_G_CHIP_IDENT_OLD: Deprecated, do not use */
struct v4l2_chip_ident_old {
__u32 match_type; /* Match type */
__u32 match_chip; /* Match this chip, meaning determined by match_type */
__u32 ident; /* chip identifier as specified in <media/v4l2-chip-ident.h> */
__u32 revision; /* chip revision, chip specific */
};
/*
* 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
*
@@ -1488,8 +1537,6 @@ struct v4l2_chip_ident_old {
/* Experimental, meant for debugging, testing and internal use.
Never use this ioctl in applications! */
#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
/* This is deprecated and will go away in 2.6.30 */
#define VIDIOC_G_CHIP_IDENT_OLD _IOWR('V', 81, struct v4l2_chip_ident_old)
#endif
#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)