diff options
| author | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-21 13:01:27 -0400 |
|---|---|---|
| committer | Linus Torvalds <torvalds@linux-foundation.org> | 2015-04-21 13:01:27 -0400 |
| commit | 0c8027d50c070859314a88aaff42453ff4f71819 (patch) | |
| tree | 440ecaefad24571853796df50eb2f238052dd3f2 /include/uapi/linux | |
| parent | 1fc149933fd49a5b0e7738dc0853dbfbac4ae0e1 (diff) | |
| parent | 64131a87f2aae2ed9e05d8227c5b009ca6c50d98 (diff) | |
Merge tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media
Pull media updates from Mauro Carvalho Chehab:
- a new frontend driver for new ATSC devices: lgdt3306a
- a new sensor driver: ov2659
- a new platform driver: xilinx
- the m88ts2022 tuner driver was merged at ts2020 driver
- the media controller gained experimental support for DVB and hybrid
devices
- lots of random cleanups, fixes and improvements on media drivers
* tag 'media/v4.1-2' of git://git.kernel.org/pub/scm/linux/kernel/git/mchehab/linux-media: (404 commits)
[media] uvcvideo: add support for VIDIOC_QUERY_EXT_CTRL
[media] uvcvideo: fix cropcap v4l2-compliance failure
[media] media: omap3isp: remove unused clkdev
[media] coda: Add tracing support
[media] coda: drop dma_sync_single_for_device in coda_bitstream_queue
[media] coda: fix fill bitstream errors in nonstreaming case
[media] coda: call SEQ_END when the first queue is stopped
[media] coda: fail to start streaming if userspace set invalid formats
[media] coda: remove duplicate error messages for buffer allocations
[media] coda: move parameter buffer in together with context buffer allocation
[media] coda: allocate bitstream buffer from REQBUFS, size depends on the format
[media] coda: allocate per-context buffers from REQBUFS
[media] coda: use strlcpy instead of snprintf
[media] coda: bitstream payload is unsigned
[media] coda: fix double call to debugfs_remove
[media] coda: check kasprintf return value in coda_open
[media] coda: bitrate can only be set in kbps steps
[media] v4l2-mem2mem: no need to initialize b in v4l2_m2m_next_buf and v4l2_m2m_buf_remove
[media] s5p-mfc: set allow_zero_bytesused flag for vb2_queue_init
[media] coda: set allow_zero_bytesused flag for vb2_queue_init
...
Diffstat (limited to 'include/uapi/linux')
| -rw-r--r-- | include/uapi/linux/Kbuild | 1 | ||||
| -rw-r--r-- | include/uapi/linux/am437x-vpfe.h | 2 | ||||
| -rw-r--r-- | include/uapi/linux/media-bus-format.h | 15 | ||||
| -rw-r--r-- | include/uapi/linux/media.h | 52 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-dv-timings.h | 64 | ||||
| -rw-r--r-- | include/uapi/linux/v4l2-subdev.h | 12 | ||||
| -rw-r--r-- | include/uapi/linux/videodev2.h | 18 | ||||
| -rw-r--r-- | include/uapi/linux/xilinx-v4l2-controls.h | 73 |
8 files changed, 192 insertions, 45 deletions
diff --git a/include/uapi/linux/Kbuild b/include/uapi/linux/Kbuild index 38df23435ebb..640954b9ecf9 100644 --- a/include/uapi/linux/Kbuild +++ b/include/uapi/linux/Kbuild | |||
| @@ -447,5 +447,6 @@ header-y += wireless.h | |||
| 447 | header-y += x25.h | 447 | header-y += x25.h |
| 448 | header-y += xattr.h | 448 | header-y += xattr.h |
| 449 | header-y += xfrm.h | 449 | header-y += xfrm.h |
| 450 | header-y += xilinx-v4l2-controls.h | ||
| 450 | header-y += zorro.h | 451 | header-y += zorro.h |
| 451 | header-y += zorro_ids.h | 452 | header-y += zorro_ids.h |
diff --git a/include/uapi/linux/am437x-vpfe.h b/include/uapi/linux/am437x-vpfe.h index 9b03033f9cd6..d75774317b9b 100644 --- a/include/uapi/linux/am437x-vpfe.h +++ b/include/uapi/linux/am437x-vpfe.h | |||
| @@ -21,6 +21,8 @@ | |||
| 21 | #ifndef AM437X_VPFE_USER_H | 21 | #ifndef AM437X_VPFE_USER_H |
| 22 | #define AM437X_VPFE_USER_H | 22 | #define AM437X_VPFE_USER_H |
| 23 | 23 | ||
| 24 | #include <linux/videodev2.h> | ||
| 25 | |||
| 24 | enum vpfe_ccdc_data_size { | 26 | enum vpfe_ccdc_data_size { |
| 25 | VPFE_CCDC_DATA_16BITS = 0, | 27 | VPFE_CCDC_DATA_16BITS = 0, |
| 26 | VPFE_CCDC_DATA_15BITS, | 28 | VPFE_CCDC_DATA_15BITS, |
diff --git a/include/uapi/linux/media-bus-format.h b/include/uapi/linux/media-bus-format.h index 73c78f18a328..190d491d5b13 100644 --- a/include/uapi/linux/media-bus-format.h +++ b/include/uapi/linux/media-bus-format.h | |||
| @@ -45,6 +45,7 @@ | |||
| 45 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 | 45 | #define MEDIA_BUS_FMT_RGB565_2X8_BE 0x1007 |
| 46 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 | 46 | #define MEDIA_BUS_FMT_RGB565_2X8_LE 0x1008 |
| 47 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 | 47 | #define MEDIA_BUS_FMT_RGB666_1X18 0x1009 |
| 48 | #define MEDIA_BUS_FMT_RBG888_1X24 0x100e | ||
| 48 | #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 | 49 | #define MEDIA_BUS_FMT_RGB666_1X24_CPADHI 0x1015 |
| 49 | #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 | 50 | #define MEDIA_BUS_FMT_RGB666_1X7X3_SPWG 0x1010 |
| 50 | #define MEDIA_BUS_FMT_BGR888_1X24 0x1013 | 51 | #define MEDIA_BUS_FMT_BGR888_1X24 0x1013 |
| @@ -55,6 +56,7 @@ | |||
| 55 | #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 | 56 | #define MEDIA_BUS_FMT_RGB888_1X7X4_SPWG 0x1011 |
| 56 | #define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 | 57 | #define MEDIA_BUS_FMT_RGB888_1X7X4_JEIDA 0x1012 |
| 57 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d | 58 | #define MEDIA_BUS_FMT_ARGB8888_1X32 0x100d |
| 59 | #define MEDIA_BUS_FMT_RGB888_1X32_PADHI 0x100f | ||
| 58 | 60 | ||
| 59 | /* YUV (including grey) - next is 0x2026 */ | 61 | /* YUV (including grey) - next is 0x2026 */ |
| 60 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 | 62 | #define MEDIA_BUS_FMT_Y8_1X8 0x2001 |
| @@ -73,6 +75,10 @@ | |||
| 73 | #define MEDIA_BUS_FMT_YUYV10_2X10 0x200b | 75 | #define MEDIA_BUS_FMT_YUYV10_2X10 0x200b |
| 74 | #define MEDIA_BUS_FMT_YVYU10_2X10 0x200c | 76 | #define MEDIA_BUS_FMT_YVYU10_2X10 0x200c |
| 75 | #define MEDIA_BUS_FMT_Y12_1X12 0x2013 | 77 | #define MEDIA_BUS_FMT_Y12_1X12 0x2013 |
| 78 | #define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | ||
| 79 | #define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | ||
| 80 | #define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | ||
| 81 | #define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | ||
| 76 | #define MEDIA_BUS_FMT_UYVY8_1X16 0x200f | 82 | #define MEDIA_BUS_FMT_UYVY8_1X16 0x200f |
| 77 | #define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 | 83 | #define MEDIA_BUS_FMT_VYUY8_1X16 0x2010 |
| 78 | #define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 | 84 | #define MEDIA_BUS_FMT_YUYV8_1X16 0x2011 |
| @@ -82,17 +88,14 @@ | |||
| 82 | #define MEDIA_BUS_FMT_VYUY10_1X20 0x201b | 88 | #define MEDIA_BUS_FMT_VYUY10_1X20 0x201b |
| 83 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d | 89 | #define MEDIA_BUS_FMT_YUYV10_1X20 0x200d |
| 84 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e | 90 | #define MEDIA_BUS_FMT_YVYU10_1X20 0x200e |
| 91 | #define MEDIA_BUS_FMT_VUY8_1X24 0x2024 | ||
| 85 | #define MEDIA_BUS_FMT_YUV8_1X24 0x2025 | 92 | #define MEDIA_BUS_FMT_YUV8_1X24 0x2025 |
| 86 | #define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | ||
| 87 | #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | ||
| 88 | #define MEDIA_BUS_FMT_UYVY12_2X12 0x201c | ||
| 89 | #define MEDIA_BUS_FMT_VYUY12_2X12 0x201d | ||
| 90 | #define MEDIA_BUS_FMT_YUYV12_2X12 0x201e | ||
| 91 | #define MEDIA_BUS_FMT_YVYU12_2X12 0x201f | ||
| 92 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 | 93 | #define MEDIA_BUS_FMT_UYVY12_1X24 0x2020 |
| 93 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 | 94 | #define MEDIA_BUS_FMT_VYUY12_1X24 0x2021 |
| 94 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 | 95 | #define MEDIA_BUS_FMT_YUYV12_1X24 0x2022 |
| 95 | #define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 | 96 | #define MEDIA_BUS_FMT_YVYU12_1X24 0x2023 |
| 97 | #define MEDIA_BUS_FMT_YUV10_1X30 0x2016 | ||
| 98 | #define MEDIA_BUS_FMT_AYUV8_1X32 0x2017 | ||
| 96 | 99 | ||
| 97 | /* Bayer - next is 0x3019 */ | 100 | /* Bayer - next is 0x3019 */ |
| 98 | #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 | 101 | #define MEDIA_BUS_FMT_SBGGR8_1X8 0x3001 |
diff --git a/include/uapi/linux/media.h b/include/uapi/linux/media.h index d847c760e8f0..4e816be3de39 100644 --- a/include/uapi/linux/media.h +++ b/include/uapi/linux/media.h | |||
| @@ -50,7 +50,14 @@ struct media_device_info { | |||
| 50 | #define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) | 50 | #define MEDIA_ENT_T_DEVNODE_V4L (MEDIA_ENT_T_DEVNODE + 1) |
| 51 | #define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) | 51 | #define MEDIA_ENT_T_DEVNODE_FB (MEDIA_ENT_T_DEVNODE + 2) |
| 52 | #define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) | 52 | #define MEDIA_ENT_T_DEVNODE_ALSA (MEDIA_ENT_T_DEVNODE + 3) |
| 53 | #define MEDIA_ENT_T_DEVNODE_DVB (MEDIA_ENT_T_DEVNODE + 4) | 53 | #define MEDIA_ENT_T_DEVNODE_DVB_FE (MEDIA_ENT_T_DEVNODE + 4) |
| 54 | #define MEDIA_ENT_T_DEVNODE_DVB_DEMUX (MEDIA_ENT_T_DEVNODE + 5) | ||
| 55 | #define MEDIA_ENT_T_DEVNODE_DVB_DVR (MEDIA_ENT_T_DEVNODE + 6) | ||
| 56 | #define MEDIA_ENT_T_DEVNODE_DVB_CA (MEDIA_ENT_T_DEVNODE + 7) | ||
| 57 | #define MEDIA_ENT_T_DEVNODE_DVB_NET (MEDIA_ENT_T_DEVNODE + 8) | ||
| 58 | |||
| 59 | /* Legacy symbol. Use it to avoid userspace compilation breakages */ | ||
| 60 | #define MEDIA_ENT_T_DEVNODE_DVB MEDIA_ENT_T_DEVNODE_DVB_FE | ||
| 54 | 61 | ||
| 55 | #define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) | 62 | #define MEDIA_ENT_T_V4L2_SUBDEV (2 << MEDIA_ENT_TYPE_SHIFT) |
| 56 | #define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) | 63 | #define MEDIA_ENT_T_V4L2_SUBDEV_SENSOR (MEDIA_ENT_T_V4L2_SUBDEV + 1) |
| @@ -59,6 +66,8 @@ struct media_device_info { | |||
| 59 | /* A converter of analogue video to its digital representation. */ | 66 | /* A converter of analogue video to its digital representation. */ |
| 60 | #define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4) | 67 | #define MEDIA_ENT_T_V4L2_SUBDEV_DECODER (MEDIA_ENT_T_V4L2_SUBDEV + 4) |
| 61 | 68 | ||
| 69 | #define MEDIA_ENT_T_V4L2_SUBDEV_TUNER (MEDIA_ENT_T_V4L2_SUBDEV + 5) | ||
| 70 | |||
| 62 | #define MEDIA_ENT_FL_DEFAULT (1 << 0) | 71 | #define MEDIA_ENT_FL_DEFAULT (1 << 0) |
| 63 | 72 | ||
| 64 | struct media_entity_desc { | 73 | struct media_entity_desc { |
| @@ -78,17 +87,48 @@ struct media_entity_desc { | |||
| 78 | struct { | 87 | struct { |
| 79 | __u32 major; | 88 | __u32 major; |
| 80 | __u32 minor; | 89 | __u32 minor; |
| 81 | } v4l; | 90 | } dev; |
| 82 | struct { | 91 | |
| 83 | __u32 major; | 92 | #if 1 |
| 84 | __u32 minor; | 93 | /* |
| 85 | } fb; | 94 | * TODO: this shouldn't have been added without |
| 95 | * actual drivers that use this. When the first real driver | ||
| 96 | * appears that sets this information, special attention | ||
| 97 | * should be given whether this information is 1) enough, and | ||
| 98 | * 2) can deal with udev rules that rename devices. The struct | ||
| 99 | * dev would not be sufficient for this since that does not | ||
| 100 | * contain the subdevice information. In addition, struct dev | ||
| 101 | * can only refer to a single device, and not to multiple (e.g. | ||
| 102 | * pcm and mixer devices). | ||
| 103 | * | ||
| 104 | * So for now mark this as a to do. | ||
| 105 | */ | ||
| 86 | struct { | 106 | struct { |
| 87 | __u32 card; | 107 | __u32 card; |
| 88 | __u32 device; | 108 | __u32 device; |
| 89 | __u32 subdevice; | 109 | __u32 subdevice; |
| 90 | } alsa; | 110 | } alsa; |
| 111 | #endif | ||
| 112 | |||
| 113 | #if 1 | ||
| 114 | /* | ||
| 115 | * DEPRECATED: previous node specifications. Kept just to | ||
| 116 | * avoid breaking compilation, but media_entity_desc.dev | ||
| 117 | * should be used instead. In particular, alsa and dvb | ||
| 118 | * fields below are wrong: for all devnodes, there should | ||
| 119 | * be just major/minor inside the struct, as this is enough | ||
| 120 | * to represent any devnode, no matter what type. | ||
| 121 | */ | ||
| 122 | struct { | ||
| 123 | __u32 major; | ||
