diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-10 22:04:49 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-10-10 22:04:49 -0400 |
| commit | 4d9708ea5e5a45973df7cf965805fdfb185dd5bf (patch) | |
| tree | 833a918e85f1e3bff8cb182517707d12836d10a8 /include | |
| parent | 754c780953397dd5ee5191b7b3ca67e09088ce7a (diff) | |
| parent | a66d05d504a24894a8fdf11e4569752f313e5764 (diff) | |
Merge tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- new IR driver: hix5hd2-ir
- the virtual test driver (vivi) was replaced by vivid, with has an
almost complete set of features to emulate most v4l2 devices and
properly test all sorts of userspace apps
- the as102 driver had several bugs fixed and was properly split into a
frontend and a core driver. With that, it got promoted from staging
into mainstream
- one new CI driver got added for CIMaX SP2/SP2HF (sp2 driver)
- one new frontend driver for Toshiba ISDB-T/ISDB-S demod (tc90522)
- one new PCI driver for ISDB-T/ISDB-S (pt3 driver)
- saa7134 driver got support for go7007-based devices
- added a new PCI driver for Techwell 68xx chipsets (tw68)
- a new platform driver was added (coda)
- new tuner drivers: mxl301rf and qm1d1c0042
- a new DVB USB driver was added for DVBSky S860 & similar devices
- added a new SDR driver (hackrf)
- usbtv got audio support
- several platform drivers are now compiled with COMPILE_TEST
- a series of compiler fixup patches, making sparse/spatch happier with
the media stuff and removing several warnings, especially on those
platform drivers that didn't use to compile on x86
- Support for several new modern devices got added
- lots of other fixes, improvements and cleanups
* tag 'media/v3.18-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (544 commits)
[media] ir-hix5hd2: fix build on c6x arch
[media] pt3: fix DTV FE I2C driver load error paths
Revert "[media] media: em28xx - remove reset_resume interface"
[media] exynos4-is: fix some warnings when compiling on arm64
[media] usb drivers: use %zu instead of %zd
[media] pci drivers: use %zu instead of %zd
[media] dvb-frontends: use %zu instead of %zd
[media] s5p-mfc: Fix several printk warnings
[media] s5p_mfc_opr: Fix warnings
[media] ti-vpe: Fix typecast
[media] s3c-camif: fix dma_addr_t printks
[media] s5p_mfc_opr_v6: get rid of warnings when compiled with 64 bits
[media] s5p_mfc_opr_v5: Fix lots of warnings on x86_64
[media] em28xx: Fix identation
[media] drxd: remove a dead code
[media] saa7146: remove return after BUG()
[media] cx88: remove return after BUG()
[media] cx88: fix cards table CodingStyle
[media] radio-sf16fmr2: declare some structs as static
[media] radio-sf16fmi: declare pnp_attached as static
...
Diffstat (limited to 'include')
| -rw-r--r-- | include/media/davinci/dm644x_ccdc.h | 2 | ||||
| -rw-r--r-- | include/media/omap3isp.h | 3 | ||||
| -rw-r--r-- | include/media/rc-map.h | 1 | ||||
| -rw-r--r-- | include/media/videobuf2-core.h | 15 | ||||
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/smiapp.h | 29 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-controls.h | 6 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-dv-timings.h | 9 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 13 |
9 files changed, 62 insertions, 17 deletions
diff --git a/include/media/davinci/dm644x_ccdc.h b/include/media/davinci/dm644x_ccdc.h index 852e96c4bb46..984fb79031de 100644 --- a/include/media/davinci/dm644x_ccdc.h +++ b/include/media/davinci/dm644x_ccdc.h | |||
| @@ -114,7 +114,7 @@ struct ccdc_fault_pixel { | |||
| 114 | /* Number of fault pixel */ | 114 | /* Number of fault pixel */ |
| 115 | unsigned short fp_num; | 115 | unsigned short fp_num; |
| 116 | /* Address of fault pixel table */ | 116 | /* Address of fault pixel table */ |
| 117 | unsigned int fpc_table_addr; | 117 | unsigned long fpc_table_addr; |
| 118 | }; | 118 | }; |
| 119 | 119 | ||
| 120 | /* Structure for CCDC configuration parameters for raw capture mode passed | 120 | /* Structure for CCDC configuration parameters for raw capture mode passed |
diff --git a/include/media/omap3isp.h b/include/media/omap3isp.h index c9d06d9f7e6e..398279dd1922 100644 --- a/include/media/omap3isp.h +++ b/include/media/omap3isp.h | |||
| @@ -57,6 +57,8 @@ enum { | |||
| 57 | * 0 - Active high, 1 - Active low | 57 | * 0 - Active high, 1 - Active low |
| 58 | * @vs_pol: Vertical synchronization polarity | 58 | * @vs_pol: Vertical synchronization polarity |
| 59 | * 0 - Active high, 1 - Active low | 59 | * 0 - Active high, 1 - Active low |
| 60 | * @fld_pol: Field signal polarity | ||
| 61 | * 0 - Positive, 1 - Negative | ||
| 60 | * @data_pol: Data polarity | 62 | * @data_pol: Data polarity |
| 61 | * 0 - Normal, 1 - One's complement | 63 | * 0 - Normal, 1 - One's complement |
| 62 | */ | 64 | */ |
| @@ -65,6 +67,7 @@ struct isp_parallel_platform_data { | |||
| 65 | unsigned int clk_pol:1; | 67 | unsigned int clk_pol:1; |
| 66 | unsigned int hs_pol:1; | 68 | unsigned int hs_pol:1; |
| 67 | unsigned int vs_pol:1; | 69 | unsigned int vs_pol:1; |
| 70 | unsigned int fld_pol:1; | ||
| 68 | unsigned int data_pol:1; | 71 | unsigned int data_pol:1; |
| 69 | }; | 72 | }; |
| 70 | 73 | ||
diff --git a/include/media/rc-map.h b/include/media/rc-map.h index 80f951890b4c..e7a1514075ec 100644 --- a/include/media/rc-map.h +++ b/include/media/rc-map.h | |||
| @@ -135,6 +135,7 @@ void rc_map_init(void); | |||
| 135 | #define RC_MAP_DM1105_NEC "rc-dm1105-nec" | 135 | #define RC_MAP_DM1105_NEC "rc-dm1105-nec" |
| 136 | #define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro" | 136 | #define RC_MAP_DNTV_LIVE_DVBT_PRO "rc-dntv-live-dvbt-pro" |
| 137 | #define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t" | 137 | #define RC_MAP_DNTV_LIVE_DVB_T "rc-dntv-live-dvb-t" |
| 138 | #define RC_MAP_DVBSKY "rc-dvbsky" | ||
| 138 | #define RC_MAP_EMPTY "rc-empty" | 139 | #define RC_MAP_EMPTY "rc-empty" |
| 139 | #define RC_MAP_EM_TERRATEC "rc-em-terratec" | 140 | #define RC_MAP_EM_TERRATEC "rc-em-terratec" |
| 140 | #define RC_MAP_ENCORE_ENLTV2 "rc-encore-enltv2" | 141 | #define RC_MAP_ENCORE_ENLTV2 "rc-encore-enltv2" |
diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index 2fefcf491aa8..6ef2d01197da 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h | |||
| @@ -356,8 +356,8 @@ struct v4l2_fh; | |||
| 356 | * @buf_struct_size: size of the driver-specific buffer structure; | 356 | * @buf_struct_size: size of the driver-specific buffer structure; |
| 357 | * "0" indicates the driver doesn't want to use a custom buffer | 357 | * "0" indicates the driver doesn't want to use a custom buffer |
| 358 | * structure type, so sizeof(struct vb2_buffer) will is used | 358 | * structure type, so sizeof(struct vb2_buffer) will is used |
| 359 | * @timestamp_flags: Timestamp flags; V4L2_BUF_FLAGS_TIMESTAMP_* and | 359 | * @timestamp_flags: Timestamp flags; V4L2_BUF_FLAG_TIMESTAMP_* and |
| 360 | * V4L2_BUF_FLAGS_TSTAMP_SRC_* | 360 | * V4L2_BUF_FLAG_TSTAMP_SRC_* |
| 361 | * @gfp_flags: additional gfp flags used when allocating the buffers. | 361 | * @gfp_flags: additional gfp flags used when allocating the buffers. |
| 362 | * Typically this is 0, but it may be e.g. GFP_DMA or __GFP_DMA32 | 362 | * Typically this is 0, but it may be e.g. GFP_DMA or __GFP_DMA32 |
| 363 | * to force the buffer allocation to a specific memory zone. | 363 | * to force the buffer allocation to a specific memory zone. |
| @@ -366,6 +366,7 @@ struct v4l2_fh; | |||
| 366 | * cannot be started unless at least this number of buffers | 366 | * cannot be started unless at least this number of buffers |
| 367 | * have been queued into the driver. | 367 | * have been queued into the driver. |
| 368 | * | 368 | * |
| 369 | * @mmap_lock: private mutex used when buffers are allocated/freed/mmapped | ||
| 369 | * @memory: current memory type used | 370 | * @memory: current memory type used |
| 370 | * @bufs: videobuf buffer structures | 371 | * @bufs: videobuf buffer structures |
| 371 | * @num_buffers: number of allocated/used buffers | 372 | * @num_buffers: number of allocated/used buffers |
| @@ -402,6 +403,7 @@ struct vb2_queue { | |||
| 402 | u32 min_buffers_needed; | 403 | u32 min_buffers_needed; |
| 403 | 404 | ||
| 404 | /* private: internal use only */ | 405 | /* private: internal use only */ |
| 406 | struct mutex mmap_lock; | ||
| 405 | enum v4l2_memory memory; | 407 | enum v4l2_memory memory; |
| 406 | struct vb2_buffer *bufs[VIDEO_MAX_FRAME]; | 408 | struct vb2_buffer *bufs[VIDEO_MAX_FRAME]; |
| 407 | unsigned int num_buffers; | 409 | unsigned int num_buffers; |
| @@ -592,6 +594,15 @@ vb2_plane_size(struct vb2_buffer *vb, unsigned int plane_no) | |||
| 592 | return 0; | 594 | return 0; |
| 593 | } | 595 | } |
| 594 | 596 | ||
| 597 | /** | ||
| 598 | * vb2_start_streaming_called() - return streaming status of driver | ||
| 599 | * @q: videobuf queue | ||
| 600 | */ | ||
| 601 | static inline bool vb2_start_streaming_called(struct vb2_queue *q) | ||
| 602 | { | ||
| 603 | return q->start_streaming_called; | ||
| 604 | } | ||
| 605 | |||
| 595 | /* | 606 | /* |
| 596 | * The following functions are not part of the vb2 core API, but are simple | 607 | * The following functions are not part of the vb2 core API, but are simple |
| 597 | * helper functions that you can use in your struct v4l2_file_operations, | 608 | * helper functions that you can use in your struct v4l2_file_operations, |
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 70e150ebc6c9..3cc8e1c2b996 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -355,6 +355,7 @@ header-y += serio.h | |||
| 355 | header-y += shm.h | 355 | header-y += shm.h |
| 356 | header-y += signal.h | 356 | header-y += signal.h |
| 357 | header-y += signalfd.h | 357 | header-y += signalfd.h |
| 358 | header-y += smiapp.h | ||
| 358 | header-y += snmp.h | 359 | header-y += snmp.h |
| 359 | header-y += sock_diag.h | 360 | header-y += sock_diag.h |
| 360 | header-y += socket.h | 361 | header-y += socket.h |
diff --git a/include/uapi/linux/smiapp.h b/include/uapi/linux/smiapp.h new file mode 100644 index 000000000000..53938f4412ee --- /dev/null +++ b/include/uapi/linux/smiapp.h | |||
| @@ -0,0 +1,29 @@ | |||
| 1 | /* | ||
| 2 | * include/uapi/linux/smiapp.h | ||
| 3 | * | ||
| 4 | * Generic driver for SMIA/SMIA++ compliant camera modules | ||
| 5 | * | ||
| 6 | * Copyright (C) 2014 Intel Corporation | ||
| 7 | * Contact: Sakari Ailus <sakari.ailus@iki.fi> | ||
| 8 | * | ||
| 9 | * This program is free software; you can redistribute it and/or | ||
| 10 | * modify it under the terms of the GNU General Public License | ||
| 11 | * version 2 as published by the Free Software Foundation. | ||
| 12 | * | ||
| 13 | * This program is distributed in the hope that it will be useful, but | ||
| 14 | * WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | ||
| 16 | * General Public License for more details. | ||
| 17 | * | ||
| 18 | */ | ||
| 19 | |||
| 20 | #ifndef __UAPI_LINUX_SMIAPP_H_ | ||
| 21 | #define __UAPI_LINUX_SMIAPP_H_ | ||
| 22 | |||
| 23 | #define V4L2_SMIAPP_TEST_PATTERN_MODE_DISABLED 0 | ||
| 24 | #define V4L2_SMIAPP_TEST_PATTERN_MODE_SOLID_COLOUR 1 | ||
| 25 | #define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS 2 | ||
| 26 | #define V4L2_SMIAPP_TEST_PATTERN_MODE_COLOUR_BARS_GREY 3 | ||
| 27 | #define V4L2_SMIAPP_TEST_PATTERN_MODE_PN9 4 | ||
| 28 | |||
| 29 | #endif /* __UAPI_LINUX_SMIAPP_H_ */ | ||
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index e946e43fb8d5..661f119a51b8 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -746,6 +746,8 @@ enum v4l2_auto_focus_range { | |||
| 746 | V4L2_AUTO_FOCUS_RANGE_INFINITY = 3, | 746 | V4L2_AUTO_FOCUS_RANGE_INFINITY = 3, |
| 747 | }; | 747 | }; |
| 748 | 748 | ||
| 749 | #define V4L2_CID_PAN_SPEED (V4L2_CID_CAMERA_CLASS_BASE+32) | ||
| 750 | #define V4L2_CID_TILT_SPEED (V4L2_CID_CAMERA_CLASS_BASE+33) | ||
| 749 | 751 | ||
| 750 | /* FM Modulator class control IDs */ | 752 | /* FM Modulator class control IDs */ |
| 751 | 753 | ||
| @@ -865,6 +867,10 @@ enum v4l2_jpeg_chroma_subsampling { | |||
| 865 | #define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1) | 867 | #define V4L2_CID_VBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 1) |
| 866 | #define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2) | 868 | #define V4L2_CID_HBLANK (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 2) |
| 867 | #define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) | 869 | #define V4L2_CID_ANALOGUE_GAIN (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 3) |
| 870 | #define V4L2_CID_TEST_PATTERN_RED (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 4) | ||
| 871 | #define V4L2_CID_TEST_PATTERN_GREENR (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 5) | ||
| 872 | #define V4L2_CID_TEST_PATTERN_BLUE (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 6) | ||
| 873 | #define V4L2_CID_TEST_PATTERN_GREENB (V4L2_CID_IMAGE_SOURCE_CLASS_BASE + 7) | ||
| 868 | 874 | ||
| 869 | 875 | ||
| 870 | /* Image processing controls */ | 876 | /* Image processing controls */ |
diff --git a/include/uapi/linux/v4l2-dv-timings.h b/include/uapi/linux/v4l2-dv-timings.h index 6c8f159e416e..6a0764c89fcb 100644 --- a/include/uapi/linux/v4l2-dv-timings.h +++ b/include/uapi/linux/v4l2-dv-timings.h | |||
| @@ -21,17 +21,8 @@ | |||
| 21 | #ifndef _V4L2_DV_TIMINGS_H | 21 | #ifndef _V4L2_DV_TIMINGS_H |
| 22 | #define _V4L2_DV_TIMINGS_H | 22 | #define _V4L2_DV_TIMINGS_H |
| 23 | 23 | ||
| 24 | #if __GNUC__ < 4 || (__GNUC__ == 4 && (__GNUC_MINOR__ < 6)) | ||
| 25 | /* Sadly gcc versions older than 4.6 have a bug in how they initialize | ||
| 26 | anonymous unions where they require additional curly brackets. | ||
| 27 | This violates the C1x standard. This workaround adds the curly brackets | ||
| 28 | if needed. */ | ||
| 29 | #define V4L2_INIT_BT_TIMINGS(_width, args...) \ | 24 | #define V4L2_INIT_BT_TIMINGS(_width, args...) \ |
| 30 | { .bt = { _width , ## args } } | 25 | { .bt = { _width , ## args } } |
| 31 | #else | ||
| 32 | #define V4L2_INIT_BT_TIMINGS(_width, args...) \ | ||
| 33 | .bt = { _width , ## args } | ||
| 34 | #endif | ||
| 35 | 26 | ||
| 36 | /* CEA-861-E timings (i.e. standard HDTV timings) */ | 27 | /* CEA-861-E timings (i.e. standard HDTV timings) */ |
| 37 | 28 | ||
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 778a3298fb34..1c2f84fd4d99 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -79,6 +79,7 @@ | |||
| 79 | /* Four-character-code (FOURCC) */ | 79 | /* Four-character-code (FOURCC) */ |
| 80 | #define v4l2_fourcc(a, b, c, d)\ | 80 | #define v4l2_fourcc(a, b, c, d)\ |
| 81 | ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) | 81 | ((__u32)(a) | ((__u32)(b) << 8) | ((__u32)(c) << 16) | ((__u32)(d) << 24)) |
| 82 | #define v4l2_fourcc_be(a, b, c, d) (v4l2_fourcc(a, b, c, d) | (1 << 31)) | ||
| 82 | 83 | ||
| 83 | /* | 84 | /* |
| 84 | * E N U M S | 85 | * E N U M S |
| @@ -307,6 +308,8 @@ struct v4l2_pix_format { | |||
| 307 | #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ | 308 | #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ |
| 308 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ | 309 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ |
| 309 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ | 310 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ |
| 311 | #define V4L2_PIX_FMT_ARGB555X v4l2_fourcc_be('A', 'R', '1', '5') /* 16 ARGB-5-5-5 BE */ | ||
| 312 | #define V4L2_PIX_FMT_XRGB555X v4l2_fourcc_be('X', 'R', '1', '5') /* 16 XRGB-5-5-5 BE */ | ||
| 310 | #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ | 313 | #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ |
| 311 | #define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */ | 314 | #define V4L2_PIX_FMT_BGR666 v4l2_fourcc('B', 'G', 'R', 'H') /* 18 BGR-6-6-6 */ |
| 312 | #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ | 315 | #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ |
| @@ -1285,11 +1288,11 @@ struct v4l2_ext_control { | |||
| 1285 | union { | 1288 | union { |
| 1286 | __s32 value; | 1289 | __s32 value; |
| 1287 | __s64 value64; | 1290 | __s64 value64; |
| 1288 | char *string; | 1291 | char __user *string; |
| 1289 | __u8 *p_u8; | 1292 | __u8 __user *p_u8; |
| 1290 | __u16 *p_u16; | 1293 | __u16 __user *p_u16; |
| 1291 | __u32 *p_u32; | 1294 | __u32 __user *p_u32; |
| 1292 | void *ptr; | 1295 | void __user *ptr; |
| 1293 | }; | 1296 | }; |
| 1294 | } __attribute__ ((packed)); | 1297 | } __attribute__ ((packed)); |
| 1295 | 1298 | ||
