History

Merge branch 'next' (accumulated 3.16 merge window patches) into master

Now that 3.15 is released, this merges the 'next' branch into 'master', bringing us to the normal situation where my 'master' branch is the merge window. * accumulated work in next: (6809 commits) ufs: sb mutex merge + mutex_destroy powerpc: update comments for generic idle conversion cris: update comments for generic idle conversion idle: remove cpu_idle() forward declarations nbd: zero from and len fields in NBD_CMD_DISCONNECT. mm: convert some level-less printks to pr_* MAINTAINERS: adi-buildroot-devel is moderated MAINTAINERS: add linux-api for review of API/ABI changes mm/kmemleak-test.c: use pr_fmt for logging fs/dlm/debug_fs.c: replace seq_printf by seq_puts fs/dlm/lockspace.c: convert simple_str to kstr fs/dlm/config.c: convert simple_str to kstr mm: mark remap_file_pages() syscall as deprecated mm: memcontrol: remove unnecessary memcg argument from soft limit functions mm: memcontrol: clean up memcg zoneinfo lookup mm/memblock.c: call kmemleak directly from memblock_(alloc|free) mm/mempool.c: update the kmemleak stack trace for mempool allocations lib/radix-tree.c: update the kmemleak stack trace for radix tree allocations mm: introduce kmemleak_update_trace() mm/kmemleak.c: use %u to print ->checksum ...

Linus Torvalds committed 12 years ago

Commit 3f17ea62 parents 1860e37 1a5700b5560 files · +308529 −157791Browse files

Showing the changes to include/uapi/linux (14 of 5560 files). Show all

Unified · Split

14 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/gfs2_ondisk.h +1 −1
  3. include/uapi/linux/input.h +16 −1
  4. include/uapi/linux/kvm.h +16 −1
  5. include/uapi/linux/perf_event.h +4 −4
  6. include/uapi/linux/psci.h +90 −0
  7. include/uapi/linux/serial_core.h +7 −1
  8. include/uapi/linux/serial_reg.h +1 −1
  9. include/uapi/linux/shm.h +9 −8
  10. include/uapi/linux/v4l2-common.h +1 −1
  11. include/uapi/linux/v4l2-dv-timings.h +70 −0
  12. include/uapi/linux/v4l2-mediabus.h +13 −1
  13. include/uapi/linux/v4l2-subdev.h +19 −21
  14. include/uapi/linux/videodev2.h +16 −3
include/uapi/linux/Kbuild+1−0
@@ -317,6 +317,7 @@ header-y += ppp-ioctl.h · 316 unmodified lines
317317 header-y += ppp_defs.h
318318 header-y += pps.h
319319 header-y += prctl.h
320+header-y += psci.h
320321 header-y += ptp_clock.h
321322 header-y += ptrace.h
322323 header-y += qnx4_fs.h
include/uapi/linux/gfs2_ondisk.h+1−1
@@ -20,7 +20,7 @@ · 19 unmodified lines
2020
2121 #define GFS2_MOUNT_LOCK 0
2222 #define GFS2_LIVE_LOCK 1
23−#define GFS2_TRANS_LOCK 2
23+#define GFS2_FREEZE_LOCK 2
2424 #define GFS2_RENAME_LOCK 3
2525 #define GFS2_CONTROL_LOCK 4
2626 #define GFS2_MOUNTED_LOCK 5
include/uapi/linux/input.h+16−1
@@ -462,7 +462,10 @@ struct input_keymap_entry { · 461 unmodified lines
462462 #define KEY_VIDEO_NEXT 241 /* drive next video source */
463463 #define KEY_VIDEO_PREV 242 /* drive previous video source */
464464 #define KEY_BRIGHTNESS_CYCLE 243 /* brightness up, after max is min */
465−#define KEY_BRIGHTNESS_ZERO 244 /* brightness off, use ambient */
465+#define KEY_BRIGHTNESS_AUTO 244 /* Set Auto Brightness: manual
466+ brightness control is off,
467+ rely on ambient */
468+#define KEY_BRIGHTNESS_ZERO KEY_BRIGHTNESS_AUTO
466469 #define KEY_DISPLAY_OFF 245 /* display device to off state */
467470
468471 #define KEY_WWAN 246 /* Wireless WAN (LTE, UMTS, GSM, etc.) */
@@ -632,6 +635,7 @@ struct input_keymap_entry { · 163 unmodified lines
632635 #define KEY_ADDRESSBOOK 0x1ad /* AL Contacts/Address Book */
633636 #define KEY_MESSENGER 0x1ae /* AL Instant Messaging */
634637 #define KEY_DISPLAYTOGGLE 0x1af /* Turn display (LCD) on and off */
638+#define KEY_BRIGHTNESS_TOGGLE KEY_DISPLAYTOGGLE
635639 #define KEY_SPELLCHECK 0x1b0 /* AL Spell Check */
636640 #define KEY_LOGOFF 0x1b1 /* AL Logoff */
637641
@@ -723,6 +727,17 @@ struct input_keymap_entry { · 85 unmodified lines
723727
724728 #define KEY_ALS_TOGGLE 0x230 /* Ambient light sensor */
725729
730+#define KEY_BUTTONCONFIG 0x240 /* AL Button Configuration */
731+#define KEY_TASKMANAGER 0x241 /* AL Task/Project Manager */
732+#define KEY_JOURNAL 0x242 /* AL Log/Journal/Timecard */
733+#define KEY_CONTROLPANEL 0x243 /* AL Control Panel */
734+#define KEY_APPSELECT 0x244 /* AL Select Task/Application */
735+#define KEY_SCREENSAVER 0x245 /* AL Screen Saver */
736+#define KEY_VOICECOMMAND 0x246 /* Listening Voice Command */
737+
738+#define KEY_BRIGHTNESS_MIN 0x250 /* Set Brightness to Minimum */
739+#define KEY_BRIGHTNESS_MAX 0x251 /* Set Brightness to Maximum */
740+
726741 #define BTN_TRIGGER_HAPPY 0x2c0
727742 #define BTN_TRIGGER_HAPPY1 0x2c0
728743 #define BTN_TRIGGER_HAPPY2 0x2c1
include/uapi/linux/kvm.h+16−1
@@ -171,6 +171,7 @@ struct kvm_pit_config { · 170 unmodified lines
171171 #define KVM_EXIT_WATCHDOG 21
172172 #define KVM_EXIT_S390_TSCH 22
173173 #define KVM_EXIT_EPR 23
174+#define KVM_EXIT_SYSTEM_EVENT 24
174175
175176 /* For KVM_EXIT_INTERNAL_ERROR */
176177 /* Emulate instruction failed. */
@@ -301,6 +302,13 @@ struct kvm_run { · 124 unmodified lines
301302 struct {
302303 __u32 epr;
303304 } epr;
305+ /* KVM_EXIT_SYSTEM_EVENT */
306+ struct {
307+#define KVM_SYSTEM_EVENT_SHUTDOWN 1
308+#define KVM_SYSTEM_EVENT_RESET 2
309+ __u32 type;
310+ __u64 flags;
311+ } system_event;
304312 /* Fix the size of the union. */
305313 char padding[256];
306314 };
@@ -416,6 +424,8 @@ struct kvm_s390_psw { · 109 unmodified lines
416424 #define KVM_S390_INT_PFAULT_INIT 0xfffe0004u
417425 #define KVM_S390_INT_PFAULT_DONE 0xfffe0005u
418426 #define KVM_S390_MCHK 0xfffe1000u
427+#define KVM_S390_INT_CLOCK_COMP 0xffff1004u
428+#define KVM_S390_INT_CPU_TIMER 0xffff1005u
419429 #define KVM_S390_INT_VIRTIO 0xffff2603u
420430 #define KVM_S390_INT_SERVICE 0xffff2401u
421431 #define KVM_S390_INT_EMERGENCY 0xffff1201u
@@ -515,6 +525,7 @@ enum { · 93 unmodified lines
515525 kvm_ioeventfd_flag_nr_pio,
516526 kvm_ioeventfd_flag_nr_deassign,
517527 kvm_ioeventfd_flag_nr_virtio_ccw_notify,
528+ kvm_ioeventfd_flag_nr_fast_mmio,
518529 kvm_ioeventfd_flag_nr_max,
519530 };
520531
@@ -529,7 +540,7 @@ enum { · 8 unmodified lines
529540 struct kvm_ioeventfd {
530541 __u64 datamatch;
531542 __u64 addr; /* legal pio/mmio address */
532− __u32 len; /* 1, 2, 4, or 8 bytes */
543+ __u32 len; /* 1, 2, 4, or 8 bytes; or 0 to ignore length */
533544 __s32 fd;
534545 __u32 flags;
535546 __u8 pad[36];
@@ -743,6 +754,10 @@ struct kvm_ppc_smmu_info { · 207 unmodified lines
743754 #define KVM_CAP_IOAPIC_POLARITY_IGNORED 97
744755 #define KVM_CAP_ENABLE_CAP_VM 98
745756 #define KVM_CAP_S390_IRQCHIP 99
757+#define KVM_CAP_IOEVENTFD_NO_LENGTH 100
758+#define KVM_CAP_VM_ATTRIBUTES 101
759+#define KVM_CAP_ARM_PSCI_0_2 102
760+#define KVM_CAP_PPC_FIXUP_HCALL 103
746761
747762 #ifdef KVM_CAP_IRQ_ROUTING
748763
include/uapi/linux/perf_event.h+4−4
@@ -722,10 +722,10 @@ enum perf_callchain_context { · 721 unmodified lines
722722 PERF_CONTEXT_MAX = (__u64)-4095,
723723 };
724724
725−#define PERF_FLAG_FD_NO_GROUP (1U << 0)
726−#define PERF_FLAG_FD_OUTPUT (1U << 1)
727−#define PERF_FLAG_PID_CGROUP (1U << 2) /* pid=cgroup id, per-cpu mode only */
728−#define PERF_FLAG_FD_CLOEXEC (1U << 3) /* O_CLOEXEC */
725+#define PERF_FLAG_FD_NO_GROUP (1UL << 0)
726+#define PERF_FLAG_FD_OUTPUT (1UL << 1)
727+#define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */
728+#define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */
729729
730730 union perf_mem_data_src {
731731 __u64 val;
include/uapi/linux/psci.h+90−0
@@ -0,0 +1,90 @@
1+/*
2+ * ARM Power State and Coordination Interface (PSCI) header
3+ *
4+ * This header holds common PSCI defines and macros shared
5+ * by: ARM kernel, ARM64 kernel, KVM ARM/ARM64 and user space.
6+ *
7+ * Copyright (C) 2014 Linaro Ltd.
8+ * Author: Anup Patel <anup.patel@linaro.org>
9+ */
10+
11+#ifndef _UAPI_LINUX_PSCI_H
12+#define _UAPI_LINUX_PSCI_H
13+
14+/*
15+ * PSCI v0.1 interface
16+ *
17+ * The PSCI v0.1 function numbers are implementation defined.
18+ *
19+ * Only PSCI return values such as: SUCCESS, NOT_SUPPORTED,
20+ * INVALID_PARAMS, and DENIED defined below are applicable
21+ * to PSCI v0.1.
22+ */
23+
24+/* PSCI v0.2 interface */
25+#define PSCI_0_2_FN_BASE 0x84000000
26+#define PSCI_0_2_FN(n) (PSCI_0_2_FN_BASE + (n))
27+#define PSCI_0_2_64BIT 0x40000000
28+#define PSCI_0_2_FN64_BASE \
29+ (PSCI_0_2_FN_BASE + PSCI_0_2_64BIT)
30+#define PSCI_0_2_FN64(n) (PSCI_0_2_FN64_BASE + (n))
31+
32+#define PSCI_0_2_FN_PSCI_VERSION PSCI_0_2_FN(0)
33+#define PSCI_0_2_FN_CPU_SUSPEND PSCI_0_2_FN(1)
34+#define PSCI_0_2_FN_CPU_OFF PSCI_0_2_FN(2)
35+#define PSCI_0_2_FN_CPU_ON PSCI_0_2_FN(3)
36+#define PSCI_0_2_FN_AFFINITY_INFO PSCI_0_2_FN(4)
37+#define PSCI_0_2_FN_MIGRATE PSCI_0_2_FN(5)
38+#define PSCI_0_2_FN_MIGRATE_INFO_TYPE PSCI_0_2_FN(6)
39+#define PSCI_0_2_FN_MIGRATE_INFO_UP_CPU PSCI_0_2_FN(7)
40+#define PSCI_0_2_FN_SYSTEM_OFF PSCI_0_2_FN(8)
41+#define PSCI_0_2_FN_SYSTEM_RESET PSCI_0_2_FN(9)
42+
43+#define PSCI_0_2_FN64_CPU_SUSPEND PSCI_0_2_FN64(1)
44+#define PSCI_0_2_FN64_CPU_ON PSCI_0_2_FN64(3)
45+#define PSCI_0_2_FN64_AFFINITY_INFO PSCI_0_2_FN64(4)
46+#define PSCI_0_2_FN64_MIGRATE PSCI_0_2_FN64(5)
47+#define PSCI_0_2_FN64_MIGRATE_INFO_UP_CPU PSCI_0_2_FN64(7)
48+
49+/* PSCI v0.2 power state encoding for CPU_SUSPEND function */
50+#define PSCI_0_2_POWER_STATE_ID_MASK 0xffff
51+#define PSCI_0_2_POWER_STATE_ID_SHIFT 0
52+#define PSCI_0_2_POWER_STATE_TYPE_SHIFT 16
53+#define PSCI_0_2_POWER_STATE_TYPE_MASK \
54+ (0x1 << PSCI_0_2_POWER_STATE_TYPE_SHIFT)
55+#define PSCI_0_2_POWER_STATE_AFFL_SHIFT 24
56+#define PSCI_0_2_POWER_STATE_AFFL_MASK \
57+ (0x3 << PSCI_0_2_POWER_STATE_AFFL_SHIFT)
58+
59+/* PSCI v0.2 affinity level state returned by AFFINITY_INFO */
60+#define PSCI_0_2_AFFINITY_LEVEL_ON 0
61+#define PSCI_0_2_AFFINITY_LEVEL_OFF 1
62+#define PSCI_0_2_AFFINITY_LEVEL_ON_PENDING 2
63+
64+/* PSCI v0.2 multicore support in Trusted OS returned by MIGRATE_INFO_TYPE */
65+#define PSCI_0_2_TOS_UP_MIGRATE 0
66+#define PSCI_0_2_TOS_UP_NO_MIGRATE 1
67+#define PSCI_0_2_TOS_MP 2
68+
69+/* PSCI version decoding (independent of PSCI version) */
70+#define PSCI_VERSION_MAJOR_SHIFT 16
71+#define PSCI_VERSION_MINOR_MASK \
72+ ((1U << PSCI_VERSION_MAJOR_SHIFT) - 1)
73+#define PSCI_VERSION_MAJOR_MASK ~PSCI_VERSION_MINOR_MASK
74+#define PSCI_VERSION_MAJOR(ver) \
75+ (((ver) & PSCI_VERSION_MAJOR_MASK) >> PSCI_VERSION_MAJOR_SHIFT)
76+#define PSCI_VERSION_MINOR(ver) \
77+ ((ver) & PSCI_VERSION_MINOR_MASK)
78+
79+/* PSCI return values (inclusive of all PSCI versions) */
80+#define PSCI_RET_SUCCESS 0
81+#define PSCI_RET_NOT_SUPPORTED -1
82+#define PSCI_RET_INVALID_PARAMS -2
83+#define PSCI_RET_DENIED -3
84+#define PSCI_RET_ALREADY_ON -4
85+#define PSCI_RET_ON_PENDING -5
86+#define PSCI_RET_INTERNAL_FAILURE -6
87+#define PSCI_RET_NOT_PRESENT -7
88+#define PSCI_RET_DISABLED -8
89+
90+#endif /* _UAPI_LINUX_PSCI_H */
include/uapi/linux/serial_core.h+7−1
@@ -211,7 +211,7 @@ · 210 unmodified lines
211211 /* VIA VT8500 SoC */
212212 #define PORT_VT8500 97
213213
214−/* Xilinx PSS UART */
214+/* Cadence (Xilinx Zynq) UART */
215215 #define PORT_XUARTPS 98
216216
217217 /* Atheros AR933X SoC */
@@ -238,4 +238,10 @@ · 20 unmodified lines
238238 /* Tilera TILE-Gx UART */
239239 #define PORT_TILEGX 106
240240
241+/* MEN 16z135 UART */
242+#define PORT_MEN_Z135 107
243+
244+/* SC16IS74xx */
245+#define PORT_SC16IS7XX 108
246+
241247 #endif /* _UAPILINUX_SERIAL_CORE_H */
include/uapi/linux/serial_reg.h+1−1
@@ -32,7 +32,7 @@ · 31 unmodified lines
3232
3333 #define UART_IIR 2 /* In: Interrupt ID Register */
3434 #define UART_IIR_NO_INT 0x01 /* No interrupts pending */
35−#define UART_IIR_ID 0x06 /* Mask for the interrupt ID */
35+#define UART_IIR_ID 0x0e /* Mask for the interrupt ID */
3636 #define UART_IIR_MSI 0x00 /* Modem status interrupt */
3737 #define UART_IIR_THRI 0x02 /* Transmitter holding register empty */
3838 #define UART_IIR_RDI 0x04 /* Receiver data interrupt */
include/uapi/linux/shm.h+9−8
@@ -8,19 +8,20 @@ · 7 unmodified lines
88 #endif
99
1010 /*
11− * SHMMAX, SHMMNI and SHMALL are upper limits are defaults which can
12− * be increased by sysctl
11+ * SHMMNI, SHMMAX and SHMALL are default upper limits which can be
12+ * modified by sysctl. The SHMMAX and SHMALL values have been chosen to
13+ * be as large possible without facilitating scenarios where userspace
14+ * causes overflows when adjusting the limits via operations of the form
15+ * "retrieve current limit; add X; update limit". It is therefore not
16+ * advised to make SHMMAX and SHMALL any larger. These limits are
17+ * suitable for both 32 and 64-bit systems.
1318 */
14−
15−#define SHMMAX 0x2000000 /* max shared seg size (bytes) */
1619 #define SHMMIN 1 /* min shared seg size (bytes) */
1720 #define SHMMNI 4096 /* max num of segs system wide */
18−#ifndef __KERNEL__
19−#define SHMALL (SHMMAX/getpagesize()*(SHMMNI/16))
20−#endif
21+#define SHMMAX (ULONG_MAX - (1UL << 24)) /* max shared seg size (bytes) */
22+#define SHMALL (ULONG_MAX - (1UL << 24)) /* max shm system wide (pages) */
2123 #define SHMSEG SHMMNI /* max shared segs per process */
2224
23−
2425 /* Obsolete, used only for backwards compatibility and libc5 compiles */
2526 struct shmid_ds {
2627 struct ipc_perm shm_perm; /* operation perms */
include/uapi/linux/v4l2-common.h+1−1
@@ -75,7 +75,7 @@ struct v4l2_edid { · 74 unmodified lines
7575 __u32 start_block;
7676 __u32 blocks;
7777 __u32 reserved[5];
78− __u8 __user *edid;
78+ __u8 *edid;
7979 };
8080
8181 #endif /* __V4L2_COMMON__ */
include/uapi/linux/v4l2-dv-timings.h+70−0
@@ -173,6 +173,76 @@ · 172 unmodified lines
173173 V4L2_DV_FL_CAN_REDUCE_FPS) \
174174 }
175175
176+#define V4L2_DV_BT_CEA_3840X2160P24 { \
177+ .type = V4L2_DV_BT_656_1120, \
178+ V4L2_INIT_BT_TIMINGS(3840, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
179+ 297000000, 1276, 88, 296, 8, 10, 72, 0, 0, 0, \
180+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
181+}
182+
183+#define V4L2_DV_BT_CEA_3840X2160P25 { \
184+ .type = V4L2_DV_BT_656_1120, \
185+ V4L2_INIT_BT_TIMINGS(3840, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
186+ 297000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
187+ V4L2_DV_BT_STD_CEA861, 0) \
188+}
189+
190+#define V4L2_DV_BT_CEA_3840X2160P30 { \
191+ .type = V4L2_DV_BT_656_1120, \
192+ V4L2_INIT_BT_TIMINGS(3840, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
193+ 297000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
194+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
195+}
196+
197+#define V4L2_DV_BT_CEA_3840X2160P50 { \
198+ .type = V4L2_DV_BT_656_1120, \
199+ V4L2_INIT_BT_TIMINGS(3840, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
200+ 594000000, 1056, 88, 296, 8, 10, 72, 0, 0, 0, \
201+ V4L2_DV_BT_STD_CEA861, 0) \
202+}
203+
204+#define V4L2_DV_BT_CEA_3840X2160P60 { \
205+ .type = V4L2_DV_BT_656_1120, \
206+ V4L2_INIT_BT_TIMINGS(3840, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
207+ 594000000, 176, 88, 296, 8, 10, 72, 0, 0, 0, \
208+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
209+}
210+
211+#define V4L2_DV_BT_CEA_4096X2160P24 { \
212+ .type = V4L2_DV_BT_656_1120, \
213+ V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
214+ 297000000, 1020, 88, 296, 8, 10, 72, 0, 0, 0, \
215+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
216+}
217+
218+#define V4L2_DV_BT_CEA_4096X2160P25 { \
219+ .type = V4L2_DV_BT_656_1120, \
220+ V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
221+ 297000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
222+ V4L2_DV_BT_STD_CEA861, 0) \
223+}
224+
225+#define V4L2_DV_BT_CEA_4096X2160P30 { \
226+ .type = V4L2_DV_BT_656_1120, \
227+ V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
228+ 297000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
229+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
230+}
231+
232+#define V4L2_DV_BT_CEA_4096X2160P50 { \
233+ .type = V4L2_DV_BT_656_1120, \
234+ V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
235+ 594000000, 968, 88, 128, 8, 10, 72, 0, 0, 0, \
236+ V4L2_DV_BT_STD_CEA861, 0) \
237+}
238+
239+#define V4L2_DV_BT_CEA_4096X2160P60 { \
240+ .type = V4L2_DV_BT_656_1120, \
241+ V4L2_INIT_BT_TIMINGS(4096, 2160, 0, V4L2_DV_HSYNC_POS_POL, \
242+ 594000000, 88, 88, 128, 8, 10, 72, 0, 0, 0, \
243+ V4L2_DV_BT_STD_CEA861, V4L2_DV_FL_CAN_REDUCE_FPS) \
244+}
245+
176246
177247 /* VESA Discrete Monitor Timings as per version 1.0, revision 12 */
178248
include/uapi/linux/v4l2-mediabus.h+13−1
@@ -52,7 +52,7 @@ enum v4l2_mbus_pixelcode { · 51 unmodified lines
5252 V4L2_MBUS_FMT_RGB888_2X12_LE = 0x100c,
5353 V4L2_MBUS_FMT_ARGB8888_1X32 = 0x100d,
5454
55− /* YUV (including grey) - next is 0x2018 */
55+ /* YUV (including grey) - next is 0x2024 */
5656 V4L2_MBUS_FMT_Y8_1X8 = 0x2001,
5757 V4L2_MBUS_FMT_UV8_1X8 = 0x2015,
5858 V4L2_MBUS_FMT_UYVY8_1_5X8 = 0x2002,
@@ -64,6 +64,8 @@ enum v4l2_mbus_pixelcode { · 5 unmodified lines
6464 V4L2_MBUS_FMT_YUYV8_2X8 = 0x2008,
6565 V4L2_MBUS_FMT_YVYU8_2X8 = 0x2009,
6666 V4L2_MBUS_FMT_Y10_1X10 = 0x200a,
67+ V4L2_MBUS_FMT_UYVY10_2X10 = 0x2018,
68+ V4L2_MBUS_FMT_VYUY10_2X10 = 0x2019,
6769 V4L2_MBUS_FMT_YUYV10_2X10 = 0x200b,
6870 V4L2_MBUS_FMT_YVYU10_2X10 = 0x200c,
6971 V4L2_MBUS_FMT_Y12_1X12 = 0x2013,
@@ -72,10 +74,20 @@ enum v4l2_mbus_pixelcode { · 2 unmodified lines
7274 V4L2_MBUS_FMT_YUYV8_1X16 = 0x2011,
7375 V4L2_MBUS_FMT_YVYU8_1X16 = 0x2012,
7476 V4L2_MBUS_FMT_YDYUYDYV8_1X16 = 0x2014,
77+ V4L2_MBUS_FMT_UYVY10_1X20 = 0x201a,
78+ V4L2_MBUS_FMT_VYUY10_1X20 = 0x201b,
7579 V4L2_MBUS_FMT_YUYV10_1X20 = 0x200d,
7680 V4L2_MBUS_FMT_YVYU10_1X20 = 0x200e,
7781 V4L2_MBUS_FMT_YUV10_1X30 = 0x2016,
7882 V4L2_MBUS_FMT_AYUV8_1X32 = 0x2017,
83+ V4L2_MBUS_FMT_UYVY12_2X12 = 0x201c,
84+ V4L2_MBUS_FMT_VYUY12_2X12 = 0x201d,
85+ V4L2_MBUS_FMT_YUYV12_2X12 = 0x201e,
86+ V4L2_MBUS_FMT_YVYU12_2X12 = 0x201f,
87+ V4L2_MBUS_FMT_UYVY12_1X24 = 0x2020,
88+ V4L2_MBUS_FMT_VYUY12_1X24 = 0x2021,
89+ V4L2_MBUS_FMT_YUYV12_1X24 = 0x2022,
90+ V4L2_MBUS_FMT_YVYU12_1X24 = 0x2023,
7991
8092 /* Bayer - next is 0x3019 */
8193 V4L2_MBUS_FMT_SBGGR8_1X8 = 0x3001,
include/uapi/linux/v4l2-subdev.h+19−21
@@ -151,26 +151,24 @@ struct v4l2_subdev_selection { · 150 unmodified lines
151151 /* Backwards compatibility define --- to be removed */
152152 #define v4l2_subdev_edid v4l2_edid
153153
154−#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
155−#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
156−#define VIDIOC_SUBDEV_G_FRAME_INTERVAL \
157− _IOWR('V', 21, struct v4l2_subdev_frame_interval)
158−#define VIDIOC_SUBDEV_S_FRAME_INTERVAL \
159− _IOWR('V', 22, struct v4l2_subdev_frame_interval)
160−#define VIDIOC_SUBDEV_ENUM_MBUS_CODE \
161− _IOWR('V', 2, struct v4l2_subdev_mbus_code_enum)
162−#define VIDIOC_SUBDEV_ENUM_FRAME_SIZE \
163− _IOWR('V', 74, struct v4l2_subdev_frame_size_enum)
164−#define VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL \
165− _IOWR('V', 75, struct v4l2_subdev_frame_interval_enum)
166−#define VIDIOC_SUBDEV_G_CROP _IOWR('V', 59, struct v4l2_subdev_crop)
167−#define VIDIOC_SUBDEV_S_CROP _IOWR('V', 60, struct v4l2_subdev_crop)
168−#define VIDIOC_SUBDEV_G_SELECTION \
169− _IOWR('V', 61, struct v4l2_subdev_selection)
170−#define VIDIOC_SUBDEV_S_SELECTION \
171− _IOWR('V', 62, struct v4l2_subdev_selection)
172−/* These two G/S_EDID ioctls are identical to the ioctls in videodev2.h */
173−#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid)
174−#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid)
154+#define VIDIOC_SUBDEV_G_FMT _IOWR('V', 4, struct v4l2_subdev_format)
155+#define VIDIOC_SUBDEV_S_FMT _IOWR('V', 5, struct v4l2_subdev_format)
156+#define VIDIOC_SUBDEV_G_FRAME_INTERVAL _IOWR('V', 21, struct v4l2_subdev_frame_interval)
157+#define VIDIOC_SUBDEV_S_FRAME_INTERVAL _IOWR('V', 22, struct v4l2_subdev_frame_interval)
158+#define VIDIOC_SUBDEV_ENUM_MBUS_CODE _IOWR('V', 2, struct v4l2_subdev_mbus_code_enum)
159+#define VIDIOC_SUBDEV_ENUM_FRAME_SIZE _IOWR('V', 74, struct v4l2_subdev_frame_size_enum)
160+#define VIDIOC_SUBDEV_ENUM_FRAME_INTERVAL _IOWR('V', 75, struct v4l2_subdev_frame_interval_enum)
161+#define VIDIOC_SUBDEV_G_CROP _IOWR('V', 59, struct v4l2_subdev_crop)
162+#define VIDIOC_SUBDEV_S_CROP _IOWR('V', 60, struct v4l2_subdev_crop)
163+#define VIDIOC_SUBDEV_G_SELECTION _IOWR('V', 61, struct v4l2_subdev_selection)
164+#define VIDIOC_SUBDEV_S_SELECTION _IOWR('V', 62, struct v4l2_subdev_selection)
165+/* The following ioctls are identical to the ioctls in videodev2.h */
166+#define VIDIOC_SUBDEV_G_EDID _IOWR('V', 40, struct v4l2_edid)
167+#define VIDIOC_SUBDEV_S_EDID _IOWR('V', 41, struct v4l2_edid)
168+#define VIDIOC_SUBDEV_S_DV_TIMINGS _IOWR('V', 87, struct v4l2_dv_timings)
169+#define VIDIOC_SUBDEV_G_DV_TIMINGS _IOWR('V', 88, struct v4l2_dv_timings)
170+#define VIDIOC_SUBDEV_ENUM_DV_TIMINGS _IOWR('V', 98, struct v4l2_enum_dv_timings)
171+#define VIDIOC_SUBDEV_QUERY_DV_TIMINGS _IOR('V', 99, struct v4l2_dv_timings)
172+#define VIDIOC_SUBDEV_DV_TIMINGS_CAP _IOWR('V', 100, struct v4l2_dv_timings_cap)
175173
176174 #endif
include/uapi/linux/videodev2.h+16−3
@@ -649,7 +649,6 @@ struct v4l2_plane { · 648 unmodified lines
649649 * @length: size in bytes of the buffer (NOT its payload) for single-plane
650650 * buffers (when type != *_MPLANE); number of elements in the
651651 * planes array for multi-plane buffers
652− * @input: input number from which the video data has has been captured
653652 *
654653 * Contains data exchanged by application and driver using one of the Streaming
655654 * I/O methods.
@@ -1107,12 +1106,15 @@ struct v4l2_dv_timings { · 451 unmodified lines
11071106
11081107 /** struct v4l2_enum_dv_timings - DV timings enumeration
11091108 * @index: enumeration index
1109+ * @pad: the pad number for which to enumerate timings (used with
1110+ * v4l-subdev nodes only)
11101111 * @reserved: must be zeroed
11111112 * @timings: the timings for the given index
11121113 */
11131114 struct v4l2_enum_dv_timings {
11141115 __u32 index;
1115− __u32 reserved[3];
1116+ __u32 pad;
1117+ __u32 reserved[2];
11161118 struct v4l2_dv_timings timings;
11171119 };
11181120
@@ -1150,11 +1152,14 @@ struct v4l2_bt_timings_cap { · 31 unmodified lines
11501152
11511153 /** struct v4l2_dv_timings_cap - DV timings capabilities
11521154 * @type: the type of the timings (same as in struct v4l2_dv_timings)
1155+ * @pad: the pad number for which to query capabilities (used with
1156+ * v4l-subdev nodes only)
11531157 * @bt: the BT656/1120 timings capabilities
11541158 */
11551159 struct v4l2_dv_timings_cap {
11561160 __u32 type;
1157− __u32 reserved[3];
1161+ __u32 pad;
1162+ __u32 reserved[2];
11581163 union {
11591164 struct v4l2_bt_timings_cap bt;
11601165 __u32 raw_data[32];
@@ -1765,6 +1770,7 @@ struct v4l2_streamparm { · 604 unmodified lines
17651770 #define V4L2_EVENT_EOS 2
17661771 #define V4L2_EVENT_CTRL 3
17671772 #define V4L2_EVENT_FRAME_SYNC 4
1773+#define V4L2_EVENT_SOURCE_CHANGE 5
17681774 #define V4L2_EVENT_PRIVATE_START 0x08000000
17691775
17701776 /* Payload for V4L2_EVENT_VSYNC */
@@ -1796,12 +1802,19 @@ struct v4l2_event_frame_sync { · 25 unmodified lines
17961802 __u32 frame_sequence;
17971803 };
17981804
1805+#define V4L2_EVENT_SRC_CH_RESOLUTION (1 << 0)
1806+
1807+struct v4l2_event_src_change {
1808+ __u32 changes;
1809+};
1810+
17991811 struct v4l2_event {
18001812 __u32 type;
18011813 union {
18021814 struct v4l2_event_vsync vsync;
18031815 struct v4l2_event_ctrl ctrl;
18041816 struct v4l2_event_frame_sync frame_sync;
1817+ struct v4l2_event_src_change src_change;
18051818 __u8 data[64];
18061819 } u;
18071820 __u32 pending;

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