History

Merge branch 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media

Pull media update from Mauro Carvalho Chehab: - OF documentation and patches at core and drivers, to be used by for embedded media systems - some I2C drivers used on go7007 were rewritten/promoted from staging: sony-btf-mpx, tw2804, tw9903, tw9906, wis-ov7640, wis-uda1342 - add fimc-is driver (Exynos) - add a new radio driver: radio-si476x - add a two new tuners: r820t and tuner_it913x - split camera code on em28xx driver and add more models - the cypress firmware load is used outside dvb usb drivers. So, move it to a common directory to make easier to re-use it - siano media driver updated to work with sms2270 devices - several work done in order to promote go7007 and solo6x1x out of staging (still, there are some pending issues) - several API compliance fixes at v4l2 drivers that don't behave as expected - as usual, lots of driver fixes, improvements, cleanups and new device addition at the existing drivers. * 'v4l_for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (831 commits) [media] cx88: make core less verbose [media] em28xx: fix oops at em28xx_dvb_bus_ctrl() [media] s5c73m3: fix indentation of the help section in Kconfig [media] cx25821-alsa: get rid of a __must_check warning [media] cx25821-video: declare cx25821_vidioc_s_std as static [media] cx25821-video: remove maxw from cx25821_vidioc_try_fmt_vid_cap [media] r820t: Remove a warning for an unused value [media] dib0090: Fix a warning at dib0090_set_EFUSE [media] dib8000: fix a warning [media] dib8000: Fix sub-channel range [media] dib8000: store dtv_property_cache in a temp var [media] dib8000: warning fix: declare internal functions as static [media] r820t: quiet gcc warning on n_ring [media] r820t: memory leak in release() [media] r820t: precendence bug in r820t_xtal_check() [media] videodev2.h: Remove the unused old V4L1 buffer types [media] anysee: Grammar s/report the/report to/ [media] anysee: Initialize ret = 0 in anysee_frontend_attach() [media] media: videobuf2: fix the length check for mmap [media] em28xx: save isoc endpoint number for DVB only if endpoint has alt settings with xMaxPacketSize != 0 ...

Linus Torvalds committed 13 years ago

Commit 240c3c32 parents 19b344e df90e22653 files · +40821 −28643Browse files

Showing the changes to include/uapi/linux (6 of 653 files). Show all

Unified · Split

6 files
  1. include/uapi/linux/dvb/dmx.h +1 −1
  2. include/uapi/linux/media.h +2 −0
  3. include/uapi/linux/v4l2-controls.h +28 −0
  4. include/uapi/linux/v4l2-dv-timings.h +18 −0
  5. include/uapi/linux/v4l2-mediabus.h +5 −1
  6. include/uapi/linux/videodev2.h +26 −85
include/uapi/linux/dvb/dmx.h+1−1
@@ -51,7 +51,7 @@ typedef enum · 50 unmodified lines
51} dmx_input_t;51} dmx_input_t;
52 52
53 53
54typedef enum54typedef enum dmx_ts_pes
55{55{
56 DMX_PES_AUDIO0,56 DMX_PES_AUDIO0,
57 DMX_PES_VIDEO0,57 DMX_PES_VIDEO0,
include/uapi/linux/media.h+2−0
@@ -56,6 +56,8 @@ struct media_device_info { · 55 unmodified lines
56#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1)56#define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1)
57#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2)57#define MEDIA_ENT_T_V4L2_SUBDEV_FLASH (MEDIA_ENT_T_V4L2_SUBDEV + 2)
58#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)58#define MEDIA_ENT_T_V4L2_SUBDEV_LENS (MEDIA_ENT_T_V4L2_SUBDEV + 3)
59/* A converter of analogue video to its digital representation. */
60#define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4)
59 61
60#define MEDIA_ENT_FL_DEFAULT (1 << 0)62#define MEDIA_ENT_FL_DEFAULT (1 << 0)
61 63
include/uapi/linux/v4l2-controls.h+28−0
@@ -59,6 +59,7 @@ · 58 unmodified lines
59#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 /* Image source controls */59#define V4L2_CTRL_CLASS_IMAGE_SOURCE 0x009e0000 /* Image source controls */
60#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */60#define V4L2_CTRL_CLASS_IMAGE_PROC 0x009f0000 /* Image processing controls */
61#define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */61#define V4L2_CTRL_CLASS_DV 0x00a00000 /* Digital Video controls */
62#define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* Digital Video controls */
62 63
63/* User-class control IDs */64/* User-class control IDs */
64 65
@@ -146,6 +147,19 @@ enum v4l2_colorfx { · 81 unmodified lines
146 * of controls. We reserve 16 controls for this driver. */147 * of controls. We reserve 16 controls for this driver. */
147#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)148#define V4L2_CID_USER_MEYE_BASE (V4L2_CID_USER_BASE + 0x1000)
148 149
150/* The base for the bttv driver controls.
151 * We reserve 32 controls for this driver. */
152#define V4L2_CID_USER_BTTV_BASE (V4L2_CID_USER_BASE + 0x1010)
153
154
155/* The base for the s2255 driver controls.
156 * We reserve 16 controls for this driver. */
157#define V4L2_CID_USER_S2255_BASE (V4L2_CID_USER_BASE + 0x1030)
158
159/* The base for the si476x driver controls. See include/media/si476x.h for the list
160 * of controls. Total of 16 controls is reserved for this driver */
161#define V4L2_CID_USER_SI476X_BASE (V4L2_CID_USER_BASE + 0x1040)
162
149/* MPEG-class control IDs */163/* MPEG-class control IDs */
150 164
151#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)165#define V4L2_CID_MPEG_BASE (V4L2_CTRL_CLASS_MPEG | 0x900)
@@ -351,6 +365,7 @@ enum v4l2_mpeg_video_multi_slice_mode { · 199 unmodified lines
351#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)365#define V4L2_CID_MPEG_VIDEO_DEC_PTS (V4L2_CID_MPEG_BASE+223)
352#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)366#define V4L2_CID_MPEG_VIDEO_DEC_FRAME (V4L2_CID_MPEG_BASE+224)
353#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)367#define V4L2_CID_MPEG_VIDEO_VBV_DELAY (V4L2_CID_MPEG_BASE+225)
368#define V4L2_CID_MPEG_VIDEO_REPEAT_SEQ_HEADER (V4L2_CID_MPEG_BASE+226)
354 369
355#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)370#define V4L2_CID_MPEG_VIDEO_H263_I_FRAME_QP (V4L2_CID_MPEG_BASE+300)
356#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)371#define V4L2_CID_MPEG_VIDEO_H263_P_FRAME_QP (V4L2_CID_MPEG_BASE+301)
@@ -643,6 +658,7 @@ enum v4l2_exposure_metering { · 286 unmodified lines
643 V4L2_EXPOSURE_METERING_AVERAGE = 0,658 V4L2_EXPOSURE_METERING_AVERAGE = 0,
644 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,659 V4L2_EXPOSURE_METERING_CENTER_WEIGHTED = 1,
645 V4L2_EXPOSURE_METERING_SPOT = 2,660 V4L2_EXPOSURE_METERING_SPOT = 2,
661 V4L2_EXPOSURE_METERING_MATRIX = 3,
646};662};
647 663
648#define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26)664#define V4L2_CID_SCENE_MODE (V4L2_CID_CAMERA_CLASS_BASE+26)
@@ -825,4 +841,16 @@ enum v4l2_dv_rgb_range { · 176 unmodified lines
825#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)841#define V4L2_CID_DV_RX_POWER_PRESENT (V4L2_CID_DV_CLASS_BASE + 100)
826#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)842#define V4L2_CID_DV_RX_RGB_RANGE (V4L2_CID_DV_CLASS_BASE + 101)
827 843
844#define V4L2_CID_FM_RX_CLASS_BASE (V4L2_CTRL_CLASS_FM_RX | 0x900)
845#define V4L2_CID_FM_RX_CLASS (V4L2_CTRL_CLASS_FM_RX | 1)
846
847#define V4L2_CID_TUNE_DEEMPHASIS (V4L2_CID_FM_RX_CLASS_BASE + 1)
848enum v4l2_deemphasis {
849 V4L2_DEEMPHASIS_DISABLED = V4L2_PREEMPHASIS_DISABLED,
850 V4L2_DEEMPHASIS_50_uS = V4L2_PREEMPHASIS_50_uS,
851 V4L2_DEEMPHASIS_75_uS = V4L2_PREEMPHASIS_75_uS,
852};
853
854#define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2)
855
828#endif856#endif
include/uapi/linux/v4l2-dv-timings.h+18−0
@@ -42,6 +42,15 @@ · 41 unmodified lines
42 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, 0) \42 V4L2_DV_BT_STD_DMT | V4L2_DV_BT_STD_CEA861, 0) \
43}43}
44 44
45/* Note: these are the nominal timings, for HDMI links this format is typically
46 * double-clocked to meet the minimum pixelclock requirements. */
47#define V4L2_DV_BT_CEA_720X480I59_94 { \
48 .type = V4L2_DV_BT_656_1120, \
49 V4L2_INIT_BT_TIMINGS(720, 480, 1, 0, \
50 13500000, 19, 62, 57, 4, 3, 15, 4, 3, 16, \
51 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_HALF_LINE) \
52}
53
45#define V4L2_DV_BT_CEA_720X480P59_94 { \54#define V4L2_DV_BT_CEA_720X480P59_94 { \
46 .type = V4L2_DV_BT_656_1120, \55 .type = V4L2_DV_BT_656_1120, \
47 V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \56 V4L2_INIT_BT_TIMINGS(720, 480, 0, 0, \
@@ -49,6 +58,15 @@ · 1 unmodified line
49 V4L2_DV_BT_STD_CEA861, 0) \58 V4L2_DV_BT_STD_CEA861, 0) \
50}59}
51 60
61/* Note: these are the nominal timings, for HDMI links this format is typically
62 * double-clocked to meet the minimum pixelclock requirements. */
63#define V4L2_DV_BT_CEA_720X576I50 { \
64 .type = V4L2_DV_BT_656_1120, \
65 V4L2_INIT_BT_TIMINGS(720, 576, 1, 0, \
66 13500000, 12, 63, 69, 2, 3, 19, 2, 3, 20, \
67 V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_HALF_LINE) \
68}
69
52#define V4L2_DV_BT_CEA_720X576P50 { \70#define V4L2_DV_BT_CEA_720X576P50 { \
53 .type = V4L2_DV_BT_656_1120, \71 .type = V4L2_DV_BT_656_1120, \
54 V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \72 V4L2_INIT_BT_TIMINGS(720, 576, 0, 0, \
include/uapi/linux/v4l2-mediabus.h+5−1
@@ -37,7 +37,7 @@ · 36 unmodified lines
37enum v4l2_mbus_pixelcode {37enum v4l2_mbus_pixelcode {
38 V4L2_MBUS_FMT_FIXED = 0x0001,38 V4L2_MBUS_FMT_FIXED = 0x0001,
39 39
40 /* RGB - next is 0x1009 */40 /* RGB - next is 0x100d */
41 V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001,41 V4L2_MBUS_FMT_RGB444_2X8_PADHI_BE = 0x1001,
42 V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002,42 V4L2_MBUS_FMT_RGB444_2X8_PADHI_LE = 0x1002,
43 V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003,43 V4L2_MBUS_FMT_RGB555_2X8_PADHI_BE = 0x1003,
@@ -46,6 +46,10 @@ enum v4l2_mbus_pixelcode { · 2 unmodified lines
46 V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006,46 V4L2_MBUS_FMT_BGR565_2X8_LE = 0x1006,
47 V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007,47 V4L2_MBUS_FMT_RGB565_2X8_BE = 0x1007,
48 V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008,48 V4L2_MBUS_FMT_RGB565_2X8_LE = 0x1008,
49 V4L2_MBUS_FMT_RGB666_1X18 = 0x1009,
50 V4L2_MBUS_FMT_RGB888_1X24 = 0x100a,
51 V4L2_MBUS_FMT_RGB888_2X12_BE = 0x100b,
52 V4L2_MBUS_FMT_RGB888_2X12_LE = 0x100c,
49 53
50 /* YUV (including grey) - next is 0x2017 */54 /* YUV (including grey) - next is 0x2017 */
51 V4L2_MBUS_FMT_Y8_1X8 = 0x2001,55 V4L2_MBUS_FMT_Y8_1X8 = 0x2001,
include/uapi/linux/videodev2.h+26−85
@@ -72,27 +72,6 @@ · 71 unmodified lines
72#define VIDEO_MAX_FRAME 3272#define VIDEO_MAX_FRAME 32
73#define VIDEO_MAX_PLANES 873#define VIDEO_MAX_PLANES 8
74 74
75#ifndef __KERNEL__
76
77/* These defines are V4L1 specific and should not be used with the V4L2 API!
78 They will be removed from this header in the future. */
79
80#define VID_TYPE_CAPTURE 1 /* Can capture */
81#define VID_TYPE_TUNER 2 /* Can tune */
82#define VID_TYPE_TELETEXT 4 /* Does teletext */
83#define VID_TYPE_OVERLAY 8 /* Overlay onto frame buffer */
84#define VID_TYPE_CHROMAKEY 16 /* Overlay by chromakey */
85#define VID_TYPE_CLIPPING 32 /* Can clip */
86#define VID_TYPE_FRAMERAM 64 /* Uses the frame buffer memory */
87#define VID_TYPE_SCALES 128 /* Scalable */
88#define VID_TYPE_MONOCHROME 256 /* Monochrome only */
89#define VID_TYPE_SUBCAPTURE 512 /* Can capture subareas of the image */
90#define VID_TYPE_MPEG_DECODER 1024 /* Can decode MPEG streams */
91#define VID_TYPE_MPEG_ENCODER 2048 /* Can encode MPEG streams */
92#define VID_TYPE_MJPEG_DECODER 4096 /* Can decode MJPEG streams */
93#define VID_TYPE_MJPEG_ENCODER 8192 /* Can encode MJPEG streams */
94#endif
95
96/*75/*
97 * M I S C E L L A N E O U S76 * M I S C E L L A N E O U S
98 */77 */
@@ -705,6 +684,7 @@ struct v4l2_buffer { · 606 unmodified lines
705#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000684#define V4L2_BUF_FLAG_TIMESTAMP_MASK 0xe000
706#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000685#define V4L2_BUF_FLAG_TIMESTAMP_UNKNOWN 0x0000
707#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000686#define V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC 0x2000
687#define V4L2_BUF_FLAG_TIMESTAMP_COPY 0x4000
708 688
709/**689/**
710 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor690 * struct v4l2_exportbuffer - export of video buffer as DMABUF file descriptor
@@ -980,52 +960,6 @@ struct v4l2_standard { · 269 unmodified lines
980 __u32 reserved[4];960 __u32 reserved[4];
981};961};
982 962
983/* The DV Preset API is deprecated in favor of the DV Timings API.
984 New drivers shouldn't use this anymore! */
985
986/*
987 * V I D E O T I M I N G S D V P R E S E T
988 */
989struct v4l2_dv_preset {
990 __u32 preset;
991 __u32 reserved[4];
992};
993
994/*
995 * D V P R E S E T S E N U M E R A T I O N
996 */
997struct v4l2_dv_enum_preset {
998 __u32 index;
999 __u32 preset;
1000 __u8 name[32]; /* Name of the preset timing */
1001 __u32 width;
1002 __u32 height;
1003 __u32 reserved[4];
1004};
1005
1006/*
1007 * D V P R E S E T V A L U E S
1008 */
1009#define V4L2_DV_INVALID 0
1010#define V4L2_DV_480P59_94 1 /* BT.1362 */
1011#define V4L2_DV_576P50 2 /* BT.1362 */
1012#define V4L2_DV_720P24 3 /* SMPTE 296M */
1013#define V4L2_DV_720P25 4 /* SMPTE 296M */
1014#define V4L2_DV_720P30 5 /* SMPTE 296M */
1015#define V4L2_DV_720P50 6 /* SMPTE 296M */
1016#define V4L2_DV_720P59_94 7 /* SMPTE 274M */
1017#define V4L2_DV_720P60 8 /* SMPTE 274M/296M */
1018#define V4L2_DV_1080I29_97 9 /* BT.1120/ SMPTE 274M */
1019#define V4L2_DV_1080I30 10 /* BT.1120/ SMPTE 274M */
1020#define V4L2_DV_1080I25 11 /* BT.1120 */
1021#define V4L2_DV_1080I50 12 /* SMPTE 296M */
1022#define V4L2_DV_1080I60 13 /* SMPTE 296M */
1023#define V4L2_DV_1080P24 14 /* SMPTE 296M */
1024#define V4L2_DV_1080P25 15 /* SMPTE 296M */
1025#define V4L2_DV_1080P30 16 /* SMPTE 296M */
1026#define V4L2_DV_1080P50 17 /* BT.1120 */
1027#define V4L2_DV_1080P60 18 /* BT.1120 */
1028
1029/*963/*
1030 * D V B T T I M I N G S964 * D V B T T I M I N G S
1031 */965 */
@@ -1119,7 +1053,7 @@ struct v4l2_bt_timings { · 87 unmodified lines
1119 longer and field 2 is really one half-line shorter, so each field has1053 longer and field 2 is really one half-line shorter, so each field has
1120 exactly the same number of half-lines. Whether half-lines can be detected1054 exactly the same number of half-lines. Whether half-lines can be detected
1121 or used depends on the hardware. */1055 or used depends on the hardware. */
1122#define V4L2_DV_FL_HALF_LINE (1 << 0)1056#define V4L2_DV_FL_HALF_LINE (1 << 3)
1123 1057
1124 1058
1125/** struct v4l2_dv_timings - DV timings1059/** struct v4l2_dv_timings - DV timings
@@ -1239,7 +1173,6 @@ struct v4l2_input { · 113 unmodified lines
1239#define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */1173#define V4L2_IN_ST_VTR 0x04000000 /* VTR time constant */
1240 1174
1241/* capabilities flags */1175/* capabilities flags */
1242#define V4L2_IN_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */
1243#define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */1176#define V4L2_IN_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
1244#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */1177#define V4L2_IN_CAP_CUSTOM_TIMINGS V4L2_IN_CAP_DV_TIMINGS /* For compatibility */
1245#define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */1178#define V4L2_IN_CAP_STD 0x00000004 /* Supports S_STD */
@@ -1263,7 +1196,6 @@ struct v4l2_output { · 17 unmodified lines
1263#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 31196#define V4L2_OUTPUT_TYPE_ANALOGVGAOVERLAY 3
1264 1197
1265/* capabilities flags */1198/* capabilities flags */
1266#define V4L2_OUT_CAP_PRESETS 0x00000001 /* Supports S_DV_PRESET */
1267#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */1199#define V4L2_OUT_CAP_DV_TIMINGS 0x00000002 /* Supports S_DV_TIMINGS */
1268#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */1200#define V4L2_OUT_CAP_CUSTOM_TIMINGS V4L2_OUT_CAP_DV_TIMINGS /* For compatibility */
1269#define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */1201#define V4L2_OUT_CAP_STD 0x00000004 /* Supports S_STD */
@@ -1854,10 +1786,12 @@ struct v4l2_event_subscription { · 584 unmodified lines
1854 1786
1855/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */1787/* VIDIOC_DBG_G_REGISTER and VIDIOC_DBG_S_REGISTER */
1856 1788
1857#define V4L2_CHIP_MATCH_HOST 0 /* Match against chip ID on host (0 for the host) */1789#define V4L2_CHIP_MATCH_BRIDGE 0 /* Match against chip ID on the bridge (0 for the bridge) */
1858#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */1790#define V4L2_CHIP_MATCH_HOST V4L2_CHIP_MATCH_BRIDGE
1859#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */1791#define V4L2_CHIP_MATCH_I2C_DRIVER 1 /* Match against I2C driver name */
1860#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */1792#define V4L2_CHIP_MATCH_I2C_ADDR 2 /* Match against I2C 7-bit address */
1793#define V4L2_CHIP_MATCH_AC97 3 /* Match against anciliary AC97 chip */
1794#define V4L2_CHIP_MATCH_SUBDEV 4 /* Match against subdev index */
1861 1795
1862struct v4l2_dbg_match {1796struct v4l2_dbg_match {
1863 __u32 type; /* Match type */1797 __u32 type; /* Match type */
@@ -1881,6 +1815,17 @@ struct v4l2_dbg_chip_ident { · 17 unmodified lines
1881 __u32 revision; /* chip revision, chip specific */1815 __u32 revision; /* chip revision, chip specific */
1882} __attribute__ ((packed));1816} __attribute__ ((packed));
1883 1817
1818#define V4L2_CHIP_FL_READABLE (1 << 0)
1819#define V4L2_CHIP_FL_WRITABLE (1 << 1)
1820
1821/* VIDIOC_DBG_G_CHIP_INFO */
1822struct v4l2_dbg_chip_info {
1823 struct v4l2_dbg_match match;
1824 char name[32];
1825 __u32 flags;
1826 __u32 reserved[32];
1827} __attribute__ ((packed));
1828
1884/**1829/**
1885 * struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument1830 * struct v4l2_create_buffers - VIDIOC_CREATE_BUFS argument
1886 * @index: on return, index of the first created buffer1831 * @index: on return, index of the first created buffer
@@ -1958,15 +1903,12 @@ struct v4l2_create_buffers { · 71 unmodified lines
1958#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls)1903#define VIDIOC_G_EXT_CTRLS _IOWR('V', 71, struct v4l2_ext_controls)
1959#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls)1904#define VIDIOC_S_EXT_CTRLS _IOWR('V', 72, struct v4l2_ext_controls)
1960#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls)1905#define VIDIOC_TRY_EXT_CTRLS _IOWR('V', 73, struct v4l2_ext_controls)
1961#if 1
1962#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum)1906#define VIDIOC_ENUM_FRAMESIZES _IOWR('V', 74, struct v4l2_frmsizeenum)
1963#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum)1907#define VIDIOC_ENUM_FRAMEINTERVALS _IOWR('V', 75, struct v4l2_frmivalenum)
1964#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx)1908#define VIDIOC_G_ENC_INDEX _IOR('V', 76, struct v4l2_enc_idx)
1965#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd)1909#define VIDIOC_ENCODER_CMD _IOWR('V', 77, struct v4l2_encoder_cmd)
1966#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd)1910#define VIDIOC_TRY_ENCODER_CMD _IOWR('V', 78, struct v4l2_encoder_cmd)
1967#endif
1968 1911
1969#if 1
1970/* Experimental, meant for debugging, testing and internal use.1912/* Experimental, meant for debugging, testing and internal use.
1971 Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.1913 Only implemented if CONFIG_VIDEO_ADV_DEBUG is defined.
1972 You must be root to use these ioctls. Never use these in applications! */1914 You must be root to use these ioctls. Never use these in applications! */
@@ -1974,18 +1916,13 @@ struct v4l2_create_buffers { · 1 unmodified line
1974#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)1916#define VIDIOC_DBG_G_REGISTER _IOWR('V', 80, struct v4l2_dbg_register)
1975 1917
1976/* Experimental, meant for debugging, testing and internal use.1918/* Experimental, meant for debugging, testing and internal use.
1977 Never use this ioctl in applications! */1919 Never use this ioctl in applications!
1920 Note: this ioctl is deprecated in favor of VIDIOC_DBG_G_CHIP_INFO and
1921 will go away in the future. */
1978#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)1922#define VIDIOC_DBG_G_CHIP_IDENT _IOWR('V', 81, struct v4l2_dbg_chip_ident)
1979#endif
1980 1923
1981#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)1924#define VIDIOC_S_HW_FREQ_SEEK _IOW('V', 82, struct v4l2_hw_freq_seek)
1982 1925
1983/* These four DV Preset ioctls are deprecated in favor of the DV Timings
1984 ioctls. */
1985#define VIDIOC_ENUM_DV_PRESETS _IOWR('V', 83, struct v4l2_dv_enum_preset)
1986#define VIDIOC_S_DV_PRESET _IOWR('V', 84, struct v4l2_dv_preset)
1987#define VIDIOC_G_DV_PRESET _IOWR('V', 85, struct v4l2_dv_preset)
1988#define VIDIOC_QUERY_DV_PRESET _IOR('V', 86, struct v4l2_dv_preset)
1989#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)1926#define VIDIOC_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
1990#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)1927#define VIDIOC_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
1991#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)1928#define VIDIOC_DQEVENT _IOR('V', 89, struct v4l2_event)
@@ -2016,6 +1953,10 @@ struct v4l2_create_buffers { · 24 unmodified lines
2016 versions. */1953 versions. */
2017#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)1954#define VIDIOC_ENUM_FREQ_BANDS _IOWR('V', 101, struct v4l2_frequency_band)
2018 1955
1956/* Experimental, meant for debugging, testing and internal use.
1957 Never use these in applications! */
1958#define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info)
1959
2019/* Reminder: when adding new ioctls please add support for them to1960/* Reminder: when adding new ioctls please add support for them to
2020 drivers/media/video/v4l2-compat-ioctl32.c as well! */1961 drivers/media/video/v4l2-compat-ioctl32.c as well! */
2021 1962

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t