mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-25 14:13:01 -04:00
Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab: "This is the first part of the media patches for v3.6. This patch series contain: - new DVB frontend: rtl2832 - new video drivers: adv7393 - some unused files got removed - a selection API cleanup between V4L2 and V4L2 subdev API's - a major redesign at v4l-ioctl2, in order to clean it up - several driver fixes and improvements." * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (174 commits) v4l: Export v4l2-common.h in include/linux/Kbuild media: Revert "[media] Terratec Cinergy S2 USB HD Rev.2" [media] media: Use pr_info not homegrown pr_reg macro [media] Terratec Cinergy S2 USB HD Rev.2 [media] v4l: Correct conflicting V4L2 subdev selection API documentation [media] Feature removal: V4L2 selections API target and flag definitions [media] v4l: Unify selection flags documentation [media] v4l: Unify selection flags [media] v4l: Common documentation for selection targets [media] v4l: Unify selection targets across V4L2 and V4L2 subdev interfaces [media] v4l: Remove "_ACTUAL" from subdev selection API target definition names [media] V4L: Remove "_ACTIVE" from the selection target name definitions [media] media: dvb-usb: print mac address via native %pM [media] s5p-tv: Use module_i2c_driver in sii9234_drv.c file [media] media: gpio-ir-recv: add allowed_protos for platform data [media] s5p-jpeg: Use module_platform_driver in jpeg-core.c file [media] saa7134: fix spelling of detach in label [media] cx88-blackbird: replace ioctl by unlocked_ioctl [media] cx88: don't use current_norm [media] cx88: fix a number of v4l2-compliance violations ...
This commit is contained in:
commit
6df419e45d
156 changed files with 7584 additions and 5523 deletions
|
|
@ -386,6 +386,7 @@ header-y += utime.h
|
|||
header-y += utsname.h
|
||||
header-y += uuid.h
|
||||
header-y += uvcvideo.h
|
||||
header-y += v4l2-common.h
|
||||
header-y += v4l2-dv-timings.h
|
||||
header-y += v4l2-mediabus.h
|
||||
header-y += v4l2-subdev.h
|
||||
|
|
|
|||
|
|
@ -68,6 +68,9 @@ extern int i2c_master_recv(const struct i2c_client *client, char *buf,
|
|||
*/
|
||||
extern int i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
|
||||
int num);
|
||||
/* Unlocked flavor */
|
||||
extern int __i2c_transfer(struct i2c_adapter *adap, struct i2c_msg *msgs,
|
||||
int num);
|
||||
|
||||
/* This is the very generalized SMBus access routine. You probably do not
|
||||
want to use this, though; one of the functions below may be much easier,
|
||||
|
|
|
|||
|
|
@ -58,7 +58,8 @@ struct uvc_xu_control_mapping {
|
|||
struct uvc_xu_control_query {
|
||||
__u8 unit;
|
||||
__u8 selector;
|
||||
__u8 query;
|
||||
__u8 query; /* Video Class-Specific Request Code, */
|
||||
/* defined in linux/usb/video.h A.8. */
|
||||
__u16 size;
|
||||
__u8 __user *data;
|
||||
};
|
||||
|
|
|
|||
71
include/linux/v4l2-common.h
Normal file
71
include/linux/v4l2-common.h
Normal file
|
|
@ -0,0 +1,71 @@
|
|||
/*
|
||||
* include/linux/v4l2-common.h
|
||||
*
|
||||
* Common V4L2 and V4L2 subdev definitions.
|
||||
*
|
||||
* Users are advised to #include this file either through videodev2.h
|
||||
* (V4L2) or through v4l2-subdev.h (V4L2 subdev) rather than to refer
|
||||
* to this file directly.
|
||||
*
|
||||
* Copyright (C) 2012 Nokia Corporation
|
||||
* Contact: Sakari Ailus <sakari.ailus@iki.fi>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU General Public License
|
||||
* version 2 as published by the Free Software Foundation.
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||
* 02110-1301 USA
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __V4L2_COMMON__
|
||||
#define __V4L2_COMMON__
|
||||
|
||||
/*
|
||||
*
|
||||
* Selection interface definitions
|
||||
*
|
||||
*/
|
||||
|
||||
/* Current cropping area */
|
||||
#define V4L2_SEL_TGT_CROP 0x0000
|
||||
/* Default cropping area */
|
||||
#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001
|
||||
/* Cropping bounds */
|
||||
#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002
|
||||
/* Current composing area */
|
||||
#define V4L2_SEL_TGT_COMPOSE 0x0100
|
||||
/* Default composing area */
|
||||
#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101
|
||||
/* Composing bounds */
|
||||
#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
|
||||
/* Current composing area plus all padding pixels */
|
||||
#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
|
||||
|
||||
/* Backward compatibility target definitions --- to be removed. */
|
||||
#define V4L2_SEL_TGT_CROP_ACTIVE V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SEL_TGT_COMPOSE_ACTIVE V4L2_SEL_TGT_COMPOSE
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL \
|
||||
V4L2_SEL_TGT_CROP
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL \
|
||||
V4L2_SEL_TGT_COMPOSE
|
||||
|
||||
/* Selection flags */
|
||||
#define V4L2_SEL_FLAG_GE (1 << 0)
|
||||
#define V4L2_SEL_FLAG_LE (1 << 1)
|
||||
#define V4L2_SEL_FLAG_KEEP_CONFIG (1 << 2)
|
||||
|
||||
/* Backward compatibility flag definitions --- to be removed. */
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE V4L2_SEL_FLAG_GE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE V4L2_SEL_FLAG_LE
|
||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG V4L2_SEL_FLAG_KEEP_CONFIG
|
||||
|
||||
#endif /* __V4L2_COMMON__ */
|
||||
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/v4l2-common.h>
|
||||
#include <linux/v4l2-mediabus.h>
|
||||
|
||||
/**
|
||||
|
|
@ -123,27 +124,14 @@ struct v4l2_subdev_frame_interval_enum {
|
|||
__u32 reserved[9];
|
||||
};
|
||||
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_GE (1 << 0)
|
||||
#define V4L2_SUBDEV_SEL_FLAG_SIZE_LE (1 << 1)
|
||||
#define V4L2_SUBDEV_SEL_FLAG_KEEP_CONFIG (1 << 2)
|
||||
|
||||
/* active cropping area */
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_ACTUAL 0x0000
|
||||
/* cropping bounds */
|
||||
#define V4L2_SUBDEV_SEL_TGT_CROP_BOUNDS 0x0002
|
||||
/* current composing area */
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_ACTUAL 0x0100
|
||||
/* composing bounds */
|
||||
#define V4L2_SUBDEV_SEL_TGT_COMPOSE_BOUNDS 0x0102
|
||||
|
||||
|
||||
/**
|
||||
* struct v4l2_subdev_selection - selection info
|
||||
*
|
||||
* @which: either V4L2_SUBDEV_FORMAT_ACTIVE or V4L2_SUBDEV_FORMAT_TRY
|
||||
* @pad: pad number, as reported by the media API
|
||||
* @target: selection target, used to choose one of possible rectangles
|
||||
* @flags: constraint flags
|
||||
* @target: Selection target, used to choose one of possible rectangles,
|
||||
* defined in v4l2-common.h; V4L2_SEL_TGT_* .
|
||||
* @flags: constraint flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
|
||||
* @r: coordinates of the selection window
|
||||
* @reserved: for future use, set to zero for now
|
||||
*
|
||||
|
|
|
|||
|
|
@ -64,6 +64,7 @@
|
|||
#include <linux/compiler.h>
|
||||
#include <linux/ioctl.h>
|
||||
#include <linux/types.h>
|
||||
#include <linux/v4l2-common.h>
|
||||
|
||||
/*
|
||||
* Common stuff for both V4L1 and V4L2
|
||||
|
|
@ -657,7 +658,7 @@ struct v4l2_buffer {
|
|||
struct v4l2_plane *planes;
|
||||
} m;
|
||||
__u32 length;
|
||||
__u32 input;
|
||||
__u32 reserved2;
|
||||
__u32 reserved;
|
||||
};
|
||||
|
||||
|
|
@ -671,7 +672,6 @@ struct v4l2_buffer {
|
|||
/* Buffer is ready, but the data contained within is corrupted. */
|
||||
#define V4L2_BUF_FLAG_ERROR 0x0040
|
||||
#define V4L2_BUF_FLAG_TIMECODE 0x0100 /* timecode field is valid */
|
||||
#define V4L2_BUF_FLAG_INPUT 0x0200 /* input field is valid */
|
||||
#define V4L2_BUF_FLAG_PREPARED 0x0400 /* Buffer is prepared for queuing */
|
||||
/* Cache handling flags */
|
||||
#define V4L2_BUF_FLAG_NO_CACHE_INVALIDATE 0x0800
|
||||
|
|
@ -761,32 +761,12 @@ struct v4l2_crop {
|
|||
struct v4l2_rect c;
|
||||
};
|
||||
|
||||
/* Hints for adjustments of selection rectangle */
|
||||
#define V4L2_SEL_FLAG_GE 0x00000001
|
||||
#define V4L2_SEL_FLAG_LE 0x00000002
|
||||
|
||||
/* Selection targets */
|
||||
|
||||
/* Current cropping area */
|
||||
#define V4L2_SEL_TGT_CROP_ACTIVE 0x0000
|
||||
/* Default cropping area */
|
||||
#define V4L2_SEL_TGT_CROP_DEFAULT 0x0001
|
||||
/* Cropping bounds */
|
||||
#define V4L2_SEL_TGT_CROP_BOUNDS 0x0002
|
||||
/* Current composing area */
|
||||
#define V4L2_SEL_TGT_COMPOSE_ACTIVE 0x0100
|
||||
/* Default composing area */
|
||||
#define V4L2_SEL_TGT_COMPOSE_DEFAULT 0x0101
|
||||
/* Composing bounds */
|
||||
#define V4L2_SEL_TGT_COMPOSE_BOUNDS 0x0102
|
||||
/* Current composing area plus all padding pixels */
|
||||
#define V4L2_SEL_TGT_COMPOSE_PADDED 0x0103
|
||||
|
||||
/**
|
||||
* struct v4l2_selection - selection info
|
||||
* @type: buffer type (do not use *_MPLANE types)
|
||||
* @target: selection target, used to choose one of possible rectangles
|
||||
* @flags: constraints flags
|
||||
* @target: Selection target, used to choose one of possible rectangles;
|
||||
* defined in v4l2-common.h; V4L2_SEL_TGT_* .
|
||||
* @flags: constraints flags, defined in v4l2-common.h; V4L2_SEL_FLAG_*.
|
||||
* @r: coordinates of selection window
|
||||
* @reserved: for future use, rounds structure size to 64 bytes, set to zero
|
||||
*
|
||||
|
|
@ -2039,6 +2019,8 @@ struct v4l2_modulator {
|
|||
/* Flags for the 'capability' field */
|
||||
#define V4L2_TUNER_CAP_LOW 0x0001
|
||||
#define V4L2_TUNER_CAP_NORM 0x0002
|
||||
#define V4L2_TUNER_CAP_HWSEEK_BOUNDED 0x0004
|
||||
#define V4L2_TUNER_CAP_HWSEEK_WRAP 0x0008
|
||||
#define V4L2_TUNER_CAP_STEREO 0x0010
|
||||
#define V4L2_TUNER_CAP_LANG2 0x0020
|
||||
#define V4L2_TUNER_CAP_SAP 0x0020
|
||||
|
|
|
|||
Loading…
Reference in a new issue