diff options
| author | Takashi Iwai <tiwai@suse.de> | 2014-09-03 10:57:41 -0400 |
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2014-09-03 10:57:41 -0400 |
| commit | 05244d166739ae273fdc7a2151bdef61df49ca7d (patch) | |
| tree | 9065482d33f445c90f0b99d29aa51485d1d96488 /include/uapi/linux | |
| parent | acf08081adb5e8fe0519eb97bb49797ef52614d6 (diff) | |
| parent | f58f0cba15c2d0bfbc72b1eedd0a6294e8c83419 (diff) | |
Merge tag 'asoc-v3.17-rc3' of git://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v3.17
A few more driver specific fixes on top of the currently pending fixes
(which are already in your tree but not Linus').
Diffstat (limited to 'include/uapi/linux')
40 files changed, 509 insertions, 139 deletions
diff --git a/include/uapi/linux/audit.h b/include/uapi/linux/audit.h index cf6714752b69..3b9ff33e1768 100644 --- a/include/uapi/linux/audit.h +++ b/include/uapi/linux/audit.h | |||
| @@ -342,6 +342,7 @@ enum { | |||
| 342 | #define __AUDIT_ARCH_64BIT 0x80000000 | 342 | #define __AUDIT_ARCH_64BIT 0x80000000 |
| 343 | #define __AUDIT_ARCH_LE 0x40000000 | 343 | #define __AUDIT_ARCH_LE 0x40000000 |
| 344 | 344 | ||
| 345 | #define AUDIT_ARCH_AARCH64 (EM_AARCH64|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | ||
| 345 | #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) | 346 | #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE) |
| 346 | #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) | 347 | #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE) |
| 347 | #define AUDIT_ARCH_ARMEB (EM_ARM) | 348 | #define AUDIT_ARCH_ARMEB (EM_ARM) |
diff --git a/include/uapi/linux/bsg.h b/include/uapi/linux/bsg.h index 7a12e1c0f371..02986cf8b6f1 100644 --- a/include/uapi/linux/bsg.h +++ b/include/uapi/linux/bsg.h | |||
| @@ -10,12 +10,13 @@ | |||
| 10 | #define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2 | 10 | #define BSG_SUB_PROTOCOL_SCSI_TRANSPORT 2 |
| 11 | 11 | ||
| 12 | /* | 12 | /* |
| 13 | * For flags member below | 13 | * For flag constants below: |
| 14 | * sg.h sg_io_hdr also has bits defined for it's flags member. However | 14 | * sg.h sg_io_hdr also has bits defined for it's flags member. These |
| 15 | * none of these bits are implemented/used by bsg. The bits below are | 15 | * two flag values (0x10 and 0x20) have the same meaning in sg.h . For |
| 16 | * allocated to not conflict with sg.h ones anyway. | 16 | * bsg the BSG_FLAG_Q_AT_HEAD flag is ignored since it is the deafult. |
| 17 | */ | 17 | */ |
| 18 | #define BSG_FLAG_Q_AT_TAIL 0x10 /* default, == 0 at this bit, is Q_AT_HEAD */ | 18 | #define BSG_FLAG_Q_AT_TAIL 0x10 /* default is Q_AT_HEAD */ |
| 19 | #define BSG_FLAG_Q_AT_HEAD 0x20 | ||
| 19 | 20 | ||
| 20 | struct sg_io_v4 { | 21 | struct sg_io_v4 { |
| 21 | __s32 guard; /* [i] 'Q' to differentiate from v3 */ | 22 | __s32 guard; /* [i] 'Q' to differentiate from v3 */ |
diff --git a/include/uapi/linux/can/netlink.h b/include/uapi/linux/can/netlink.h index 813d11f54977..3e4323a3918d 100644 --- a/include/uapi/linux/can/netlink.h +++ b/include/uapi/linux/can/netlink.h | |||
| @@ -92,11 +92,12 @@ struct can_ctrlmode { | |||
| 92 | }; | 92 | }; |
| 93 | 93 | ||
| 94 | #define CAN_CTRLMODE_LOOPBACK 0x01 /* Loopback mode */ | 94 | #define CAN_CTRLMODE_LOOPBACK 0x01 /* Loopback mode */ |
| 95 | #define CAN_CTRLMODE_LISTENONLY 0x02 /* Listen-only mode */ | 95 | #define CAN_CTRLMODE_LISTENONLY 0x02 /* Listen-only mode */ |
| 96 | #define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */ | 96 | #define CAN_CTRLMODE_3_SAMPLES 0x04 /* Triple sampling mode */ |
| 97 | #define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */ | 97 | #define CAN_CTRLMODE_ONE_SHOT 0x08 /* One-Shot mode */ |
| 98 | #define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */ | 98 | #define CAN_CTRLMODE_BERR_REPORTING 0x10 /* Bus-error reporting */ |
| 99 | #define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */ | 99 | #define CAN_CTRLMODE_FD 0x20 /* CAN FD mode */ |
| 100 | #define CAN_CTRLMODE_PRESUME_ACK 0x40 /* Ignore missing CAN ACKs */ | ||
| 100 | 101 | ||
| 101 | /* | 102 | /* |
| 102 | * CAN device statistics | 103 | * CAN device statistics |
diff --git a/include/uapi/linux/dcbnl.h b/include/uapi/linux/dcbnl.h index 6bb43382f3f3..e711f20dc522 100644 --- a/include/uapi/linux/dcbnl.h +++ b/include/uapi/linux/dcbnl.h | |||
| @@ -148,7 +148,8 @@ struct cee_pfc { | |||
| 148 | * | 148 | * |
| 149 | * @selector: protocol identifier type | 149 | * @selector: protocol identifier type |
| 150 | * @protocol: protocol of type indicated | 150 | * @protocol: protocol of type indicated |
| 151 | * @priority: 3-bit unsigned integer indicating priority | 151 | * @priority: 3-bit unsigned integer indicating priority for IEEE |
| 152 | * 8-bit 802.1p user priority bitmap for CEE | ||
| 152 | * | 153 | * |
| 153 | * ---- | 154 | * ---- |
| 154 | * Selector field values | 155 | * Selector field values |
diff --git a/include/uapi/linux/errqueue.h b/include/uapi/linux/errqueue.h index aacd4fb7102a..07bdce1f444a 100644 --- a/include/uapi/linux/errqueue.h +++ b/include/uapi/linux/errqueue.h | |||
| @@ -22,5 +22,25 @@ struct sock_extended_err { | |||
| 22 | 22 | ||
| 23 | #define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) | 23 | #define SO_EE_OFFENDER(ee) ((struct sockaddr*)((ee)+1)) |
| 24 | 24 | ||
| 25 | /** | ||
| 26 | * struct scm_timestamping - timestamps exposed through cmsg | ||
| 27 | * | ||
| 28 | * The timestamping interfaces SO_TIMESTAMPING, MSG_TSTAMP_* | ||
| 29 | * communicate network timestamps by passing this struct in a cmsg with | ||
| 30 | * recvmsg(). See Documentation/networking/timestamping.txt for details. | ||
| 31 | */ | ||
| 32 | struct scm_timestamping { | ||
| 33 | struct timespec ts[3]; | ||
| 34 | }; | ||
| 35 | |||
| 36 | /* The type of scm_timestamping, passed in sock_extended_err ee_info. | ||
| 37 | * This defines the type of ts[0]. For SCM_TSTAMP_SND only, if ts[0] | ||
| 38 | * is zero, then this is a hardware timestamp and recorded in ts[2]. | ||
| 39 | */ | ||
| 40 | enum { | ||
| 41 | SCM_TSTAMP_SND, /* driver passed skb to NIC, or HW */ | ||
| 42 | SCM_TSTAMP_SCHED, /* data entered the packet scheduler */ | ||
| 43 | SCM_TSTAMP_ACK, /* data acknowledged by peer */ | ||
| 44 | }; | ||
| 25 | 45 | ||
| 26 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ | 46 | #endif /* _UAPI_LINUX_ERRQUEUE_H */ |
diff --git a/include/uapi/linux/fcntl.h b/include/uapi/linux/fcntl.h index 074b886c6be0..beed138bd359 100644 --- a/include/uapi/linux/fcntl.h +++ b/include/uapi/linux/fcntl.h | |||
| @@ -28,6 +28,21 @@ | |||
| 28 | #define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8) | 28 | #define F_GETPIPE_SZ (F_LINUX_SPECIFIC_BASE + 8) |
| 29 | 29 | ||
| 30 | /* | 30 | /* |
| 31 | * Set/Get seals | ||
| 32 | */ | ||
| 33 | #define F_ADD_SEALS (F_LINUX_SPECIFIC_BASE + 9) | ||
| 34 | #define F_GET_SEALS (F_LINUX_SPECIFIC_BASE + 10) | ||
| 35 | |||
| 36 | /* | ||
| 37 | * Types of seals | ||
| 38 | */ | ||
| 39 | #define F_SEAL_SEAL 0x0001 /* prevent further seals from being set */ | ||
| 40 | #define F_SEAL_SHRINK 0x0002 /* prevent file from shrinking */ | ||
| 41 | #define F_SEAL_GROW 0x0004 /* prevent file from growing */ | ||
| 42 | #define F_SEAL_WRITE 0x0008 /* prevent writes */ | ||
| 43 | /* (1U << 31) is reserved for signed error codes */ | ||
| 44 | |||
| 45 | /* | ||
| 31 | * Types of directory notifications that may be requested. | 46 | * Types of directory notifications that may be requested. |
| 32 | */ | 47 | */ |
| 33 | #define DN_ACCESS 0x00000001 /* File accessed */ | 48 | #define DN_ACCESS 0x00000001 /* File accessed */ |
diff --git a/include/uapi/linux/genwqe/genwqe_card.h b/include/uapi/linux/genwqe/genwqe_card.h index 795e957bb840..4fc065f29255 100644 --- a/include/uapi/linux/genwqe/genwqe_card.h +++ b/include/uapi/linux/genwqe/genwqe_card.h | |||
| @@ -328,6 +328,7 @@ enum genwqe_card_state { | |||
| 328 | GENWQE_CARD_UNUSED = 0, | 328 | GENWQE_CARD_UNUSED = 0, |
| 329 | GENWQE_CARD_USED = 1, | 329 | GENWQE_CARD_USED = 1, |
| 330 | GENWQE_CARD_FATAL_ERROR = 2, | 330 | GENWQE_CARD_FATAL_ERROR = 2, |
| 331 | GENWQE_CARD_RELOAD_BITSTREAM = 3, | ||
| 331 | GENWQE_CARD_STATE_MAX, | 332 | GENWQE_CARD_STATE_MAX, |
| 332 | }; | 333 | }; |
| 333 | 334 | ||
diff --git a/include/uapi/linux/i8k.h b/include/uapi/linux/i8k.h index 1c45ba505115..133d02f03c25 100644 --- a/include/uapi/linux/i8k.h +++ b/include/uapi/linux/i8k.h | |||
| @@ -34,7 +34,8 @@ | |||
| 34 | #define I8K_FAN_OFF 0 | 34 | #define I8K_FAN_OFF 0 |
| 35 | #define I8K_FAN_LOW 1 | 35 | #define I8K_FAN_LOW 1 |
| 36 | #define I8K_FAN_HIGH 2 | 36 | #define I8K_FAN_HIGH 2 |
| 37 | #define I8K_FAN_MAX I8K_FAN_HIGH | 37 | #define I8K_FAN_TURBO 3 |
| 38 | #define I8K_FAN_MAX I8K_FAN_TURBO | ||
| 38 | 39 | ||
| 39 | #define I8K_VOL_UP 1 | 40 | #define I8K_VOL_UP 1 |
| 40 | #define I8K_VOL_DOWN 2 | 41 | #define I8K_VOL_DOWN 2 |
diff --git a/include/uapi/linux/if_link.h b/include/uapi/linux/if_link.h index b38534895db5..ff957604a721 100644 --- a/include/uapi/linux/if_link.h +++ b/include/uapi/linux/if_link.h | |||
| @@ -204,11 +204,17 @@ enum { | |||
| 204 | IFLA_INET6_CACHEINFO, /* time values and max reasm size */ | 204 | IFLA_INET6_CACHEINFO, /* time values and max reasm size */ |
| 205 | IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ | 205 | IFLA_INET6_ICMP6STATS, /* statistics (icmpv6) */ |
| 206 | IFLA_INET6_TOKEN, /* device token */ | 206 | IFLA_INET6_TOKEN, /* device token */ |
| 207 | IFLA_INET6_ADDR_GEN_MODE, /* implicit address generator mode */ | ||
| 207 | __IFLA_INET6_MAX | 208 | __IFLA_INET6_MAX |
| 208 | }; | 209 | }; |
| 209 | 210 | ||
| 210 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) | 211 | #define IFLA_INET6_MAX (__IFLA_INET6_MAX - 1) |
| 211 | 212 | ||
| 213 | enum in6_addr_gen_mode { | ||
| 214 | IN6_ADDR_GEN_MODE_EUI64, | ||
| 215 | IN6_ADDR_GEN_MODE_NONE, | ||
| 216 | }; | ||
| 217 | |||
| 212 | enum { | 218 | enum { |
| 213 | BRIDGE_MODE_UNSPEC, | 219 | BRIDGE_MODE_UNSPEC, |
| 214 | BRIDGE_MODE_HAIRPIN, | 220 | BRIDGE_MODE_HAIRPIN, |
diff --git a/include/uapi/linux/if_packet.h b/include/uapi/linux/if_packet.h index bac27fa05f5b..da2d668b8cf1 100644 --- a/include/uapi/linux/if_packet.h +++ b/include/uapi/linux/if_packet.h | |||
| @@ -108,7 +108,7 @@ struct tpacket_auxdata { | |||
| 108 | 108 | ||
| 109 | /* Rx and Tx ring - header status */ | 109 | /* Rx and Tx ring - header status */ |
| 110 | #define TP_STATUS_TS_SOFTWARE (1 << 29) | 110 | #define TP_STATUS_TS_SOFTWARE (1 << 29) |
| 111 | #define TP_STATUS_TS_SYS_HARDWARE (1 << 30) | 111 | #define TP_STATUS_TS_SYS_HARDWARE (1 << 30) /* deprecated, never set */ |
| 112 | #define TP_STATUS_TS_RAW_HARDWARE (1 << 31) | 112 | #define TP_STATUS_TS_RAW_HARDWARE (1 << 31) |
| 113 | 113 | ||
| 114 | /* Rx ring - feature request bits */ | 114 | /* Rx ring - feature request bits */ |
diff --git a/include/uapi/linux/in6.h b/include/uapi/linux/in6.h index 0d8e0f0342dc..74a2a1773494 100644 --- a/include/uapi/linux/in6.h +++ b/include/uapi/linux/in6.h | |||
| @@ -261,6 +261,7 @@ struct in6_flowlabel_req { | |||
| 261 | * IP6T_SO_ORIGINAL_DST 80 | 261 | * IP6T_SO_ORIGINAL_DST 80 |
| 262 | */ | 262 | */ |
| 263 | 263 | ||
| 264 | #define IPV6_AUTOFLOWLABEL 70 | ||
| 264 | /* RFC5014: Source address selection */ | 265 | /* RFC5014: Source address selection */ |
| 265 | #define IPV6_ADDR_PREFERENCES 72 | 266 | #define IPV6_ADDR_PREFERENCES 72 |
| 266 | 267 | ||
diff --git a/include/uapi/linux/ipv6.h b/include/uapi/linux/ipv6.h index 593b0e32d956..efa2666f4b8a 100644 --- a/include/uapi/linux/ipv6.h +++ b/include/uapi/linux/ipv6.h | |||
| @@ -163,6 +163,7 @@ enum { | |||
| 163 | DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL, | 163 | DEVCONF_MLDV1_UNSOLICITED_REPORT_INTERVAL, |
| 164 | DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, | 164 | DEVCONF_MLDV2_UNSOLICITED_REPORT_INTERVAL, |
| 165 | DEVCONF_SUPPRESS_FRAG_NDISC, | 165 | DEVCONF_SUPPRESS_FRAG_NDISC, |
| 166 | DEVCONF_ACCEPT_RA_FROM_LOCAL, | ||
| 166 | DEVCONF_MAX | 167 | DEVCONF_MAX |
| 167 | }; | 168 | }; |
| 168 | 169 | ||
diff --git a/include/uapi/linux/kexec.h b/include/uapi/linux/kexec.h index d6629d49a243..6925f5b42f89 100644 --- a/include/uapi/linux/kexec.h +++ b/include/uapi/linux/kexec.h | |||
| @@ -13,6 +13,17 @@ | |||
| 13 | #define KEXEC_PRESERVE_CONTEXT 0x00000002 | 13 | #define KEXEC_PRESERVE_CONTEXT 0x00000002 |
| 14 | #define KEXEC_ARCH_MASK 0xffff0000 | 14 | #define KEXEC_ARCH_MASK 0xffff0000 |
| 15 | 15 | ||
| 16 | /* | ||
| 17 | * Kexec file load interface flags. | ||
| 18 | * KEXEC_FILE_UNLOAD : Unload already loaded kexec/kdump image. | ||
| 19 | * KEXEC_FILE_ON_CRASH : Load/unload operation belongs to kdump image. | ||
| 20 | * KEXEC_FILE_NO_INITRAMFS : No initramfs is being loaded. Ignore the initrd | ||
| 21 | * fd field. | ||
| 22 | */ | ||
| 23 | #define KEXEC_FILE_UNLOAD 0x00000001 | ||
| 24 | #define KEXEC_FILE_ON_CRASH 0x00000002 | ||
| 25 | #define KEXEC_FILE_NO_INITRAMFS 0x00000004 | ||
| 26 | |||
| 16 | /* These values match the ELF architecture values. | 27 | /* These values match the ELF architecture values. |
| 17 | * Unless there is a good reason that should continue to be the case. | 28 | * Unless there is a good reason that should continue to be the case. |
| 18 | */ | 29 | */ |
diff --git a/include/uapi/linux/kvm.h b/include/uapi/linux/kvm.h index e11d8f170a62..cf3a2ff440e4 100644 --- a/include/uapi/linux/kvm.h +++ b/include/uapi/linux/kvm.h | |||
| @@ -162,7 +162,7 @@ struct kvm_pit_config { | |||
| 162 | #define KVM_EXIT_TPR_ACCESS 12 | 162 | #define KVM_EXIT_TPR_ACCESS 12 |
| 163 | #define KVM_EXIT_S390_SIEIC 13 | 163 | #define KVM_EXIT_S390_SIEIC 13 |
| 164 | #define KVM_EXIT_S390_RESET 14 | 164 | #define KVM_EXIT_S390_RESET 14 |
| 165 | #define KVM_EXIT_DCR 15 | 165 | #define KVM_EXIT_DCR 15 /* deprecated */ |
| 166 | #define KVM_EXIT_NMI 16 | 166 | #define KVM_EXIT_NMI 16 |
| 167 | #define KVM_EXIT_INTERNAL_ERROR 17 | 167 | #define KVM_EXIT_INTERNAL_ERROR 17 |
| 168 | #define KVM_EXIT_OSI 18 | 168 | #define KVM_EXIT_OSI 18 |
| @@ -268,7 +268,7 @@ struct kvm_run { | |||
| 268 | __u64 trans_exc_code; | 268 | __u64 trans_exc_code; |
| 269 | __u32 pgm_code; | 269 | __u32 pgm_code; |
| 270 | } s390_ucontrol; | 270 | } s390_ucontrol; |
| 271 | /* KVM_EXIT_DCR */ | 271 | /* KVM_EXIT_DCR (deprecated) */ |
| 272 | struct { | 272 | struct { |
| 273 | __u32 dcrn; | 273 | __u32 dcrn; |
| 274 | __u32 data; | 274 | __u32 data; |
| @@ -399,13 +399,18 @@ struct kvm_vapic_addr { | |||
| 399 | __u64 vapic_addr; | 399 | __u64 vapic_addr; |
| 400 | }; | 400 | }; |
| 401 | 401 | ||
| 402 | /* for KVM_SET_MPSTATE */ | 402 | /* for KVM_SET_MP_STATE */ |
| 403 | 403 | ||
| 404 | /* not all states are valid on all architectures */ | ||
| 404 | #define KVM_MP_STATE_RUNNABLE 0 | 405 | #define KVM_MP_STATE_RUNNABLE 0 |
| 405 | #define KVM_MP_STATE_UNINITIALIZED 1 | 406 | #define KVM_MP_STATE_UNINITIALIZED 1 |
| 406 | #define KVM_MP_STATE_INIT_RECEIVED 2 | 407 | #define KVM_MP_STATE_INIT_RECEIVED 2 |
| 407 | #define KVM_MP_STATE_HALTED 3 | 408 | #define KVM_MP_STATE_HALTED 3 |
| 408 | #define KVM_MP_STATE_SIPI_RECEIVED 4 | 409 | #define KVM_MP_STATE_SIPI_RECEIVED 4 |
| 410 | #define KVM_MP_STATE_STOPPED 5 | ||
| 411 | #define KVM_MP_STATE_CHECK_STOP 6 | ||
| 412 | #define KVM_MP_STATE_OPERATING 7 | ||
| 413 | #define KVM_MP_STATE_LOAD 8 | ||
| 409 | 414 | ||
| 410 | struct kvm_mp_state { | 415 | struct kvm_mp_state { |
| 411 | __u32 mp_state; | 416 | __u32 mp_state; |
| @@ -758,6 +763,8 @@ struct kvm_ppc_smmu_info { | |||
| 758 | #define KVM_CAP_VM_ATTRIBUTES 101 | 763 | #define KVM_CAP_VM_ATTRIBUTES 101 |
| 759 | #define KVM_CAP_ARM_PSCI_0_2 102 | 764 | #define KVM_CAP_ARM_PSCI_0_2 102 |
| 760 | #define KVM_CAP_PPC_FIXUP_HCALL 103 | 765 | #define KVM_CAP_PPC_FIXUP_HCALL 103 |
| 766 | #define KVM_CAP_PPC_ENABLE_HCALL 104 | ||
| 767 | #define KVM_CAP_CHECK_EXTENSION_VM 105 | ||
| 761 | 768 | ||
| 762 | #ifdef KVM_CAP_IRQ_ROUTING | 769 | #ifdef KVM_CAP_IRQ_ROUTING |
| 763 | 770 | ||
diff --git a/include/uapi/linux/memfd.h b/include/uapi/linux/memfd.h new file mode 100644 index 000000000000..534e364bda92 --- /dev/null +++ b/include/uapi/linux/memfd.h | |||
| @@ -0,0 +1,8 @@ | |||
| 1 | #ifndef _UAPI_LINUX_MEMFD_H | ||
| 2 | #define _UAPI_LINUX_MEMFD_H | ||
| 3 | |||
| 4 | /* flags for memfd_create(2) (unsigned int) */ | ||
| 5 | #define MFD_CLOEXEC 0x0001U | ||
| 6 | #define MFD_ALLOW_SEALING 0x0002U | ||
| 7 | |||
| 8 | #endif /* _UAPI_LINUX_MEMFD_H */ | ||
diff --git a/include/uapi/linux/net_tstamp.h b/include/uapi/linux/net_tstamp.h index f53879c0f590..ff354021bb69 100644 --- a/include/uapi/linux/net_tstamp.h +++ b/include/uapi/linux/net_tstamp.h | |||
| @@ -20,9 +20,13 @@ enum { | |||
| 20 | SOF_TIMESTAMPING_SOFTWARE = (1<<4), | 20 | SOF_TIMESTAMPING_SOFTWARE = (1<<4), |
| 21 | SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5), | 21 | SOF_TIMESTAMPING_SYS_HARDWARE = (1<<5), |
| 22 | SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6), | 22 | SOF_TIMESTAMPING_RAW_HARDWARE = (1<<6), |
| 23 | SOF_TIMESTAMPING_MASK = | 23 | SOF_TIMESTAMPING_OPT_ID = (1<<7), |
| 24 | (SOF_TIMESTAMPING_RAW_HARDWARE - 1) | | 24 | SOF_TIMESTAMPING_TX_SCHED = (1<<8), |
| 25 | SOF_TIMESTAMPING_RAW_HARDWARE | 25 | SOF_TIMESTAMPING_TX_ACK = (1<<9), |
| 26 | |||
| 27 | SOF_TIMESTAMPING_LAST = SOF_TIMESTAMPING_TX_ACK, | ||
| 28 | SOF_TIMESTAMPING_MASK = (SOF_TIMESTAMPING_LAST - 1) | | ||
| 29 | SOF_TIMESTAMPING_LAST | ||
| 26 | }; | 30 | }; |
| 27 | 31 | ||
| 28 | /** | 32 | /** |
diff --git a/include/uapi/linux/netdevice.h b/include/uapi/linux/netdevice.h index fdfbd1c17065..55818543342d 100644 --- a/include/uapi/linux/netdevice.h +++ b/include/uapi/linux/netdevice.h | |||
| @@ -37,6 +37,12 @@ | |||
| 37 | #define INIT_NETDEV_GROUP 0 | 37 | #define INIT_NETDEV_GROUP 0 |
| 38 | 38 | ||
| 39 | 39 | ||
| 40 | /* interface name assignment types (sysfs name_assign_type attribute) */ | ||
| 41 | #define NET_NAME_UNKNOWN 0 /* unknown origin (not exposed to userspace) */ | ||
| 42 | #define NET_NAME_ENUM 1 /* enumerated by kernel */ | ||
| 43 | #define NET_NAME_PREDICTABLE 2 /* predictably named by the kernel */ | ||
| 44 | #define NET_NAME_USER 3 /* provided by user-space */ | ||
| 45 | #define NET_NAME_RENAMED 4 /* renamed by user-space */ | ||
| 40 | 46 | ||
| 41 | /* Media selection options. */ | 47 | /* Media selection options. */ |
| 42 | enum { | 48 | enum { |
diff --git a/include/uapi/linux/netfilter/nf_tables.h b/include/uapi/linux/netfilter/nf_tables.h index 2a88f645a5d8..801bdd1e56e3 100644 --- a/include/uapi/linux/netfilter/nf_tables.h +++ b/include/uapi/linux/netfilter/nf_tables.h | |||
| @@ -697,6 +697,8 @@ enum nft_counter_attributes { | |||
| 697 | * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING) | 697 | * @NFTA_LOG_PREFIX: prefix to prepend to log messages (NLA_STRING) |
| 698 | * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32) | 698 | * @NFTA_LOG_SNAPLEN: length of payload to include in netlink message (NLA_U32) |
| 699 | * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32) | 699 | * @NFTA_LOG_QTHRESHOLD: queue threshold (NLA_U32) |
| 700 | * @NFTA_LOG_LEVEL: log level (NLA_U32) | ||
| 701 | * @NFTA_LOG_FLAGS: logging flags (NLA_U32) | ||
| 700 | */ | 702 | */ |
| 701 | enum nft_log_attributes { | 703 | enum nft_log_attributes { |
| 702 | NFTA_LOG_UNSPEC, | 704 | NFTA_LOG_UNSPEC, |
| @@ -704,6 +706,8 @@ enum nft_log_attributes { | |||
| 704 | NFTA_LOG_PREFIX, | 706 | NFTA_LOG_PREFIX, |
| 705 | NFTA_LOG_SNAPLEN, | 707 | NFTA_LOG_SNAPLEN, |
| 706 | NFTA_LOG_QTHRESHOLD, | 708 | NFTA_LOG_QTHRESHOLD, |
| 709 | NFTA_LOG_LEVEL, | ||
| 710 | NFTA_LOG_FLAGS, | ||
| 707 | __NFTA_LOG_MAX | 711 | __NFTA_LOG_MAX |
| 708 | }; | 712 | }; |
| 709 | #define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) | 713 | #define NFTA_LOG_MAX (__NFTA_LOG_MAX - 1) |
diff --git a/include/uapi/linux/netfilter/xt_bpf.h b/include/uapi/linux/netfilter/xt_bpf.h index 5dda450eb55b..1fad2c27ac32 100644 --- a/include/uapi/linux/netfilter/xt_bpf.h +++ b/include/uapi/linux/netfilter/xt_bpf.h | |||
| @@ -6,12 +6,14 @@ | |||
| 6 | 6 | ||
| 7 | #define XT_BPF_MAX_NUM_INSTR 64 | 7 | #define XT_BPF_MAX_NUM_INSTR 64 |
| 8 | 8 | ||
| 9 | struct bpf_prog; | ||
| 10 | |||
| 9 | struct xt_bpf_info { | 11 | struct xt_bpf_info { |
| 10 | __u16 bpf_program_num_elem; | 12 | __u16 bpf_program_num_elem; |
| 11 | struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; | 13 | struct sock_filter bpf_program[XT_BPF_MAX_NUM_INSTR]; |
| 12 | 14 | ||
| 13 | /* only used in the kernel */ | 15 | /* only used in the kernel */ |
| 14 | struct sk_filter *filter __attribute__((aligned(8))); | 16 | struct bpf_prog *filter __attribute__((aligned(8))); |
| 15 | }; | 17 | }; |
| 16 | 18 | ||
| 17 | #endif /*_XT_BPF_H */ | 19 | #endif /*_XT_BPF_H */ |
diff --git a/include/uapi/linux/netfilter_bridge/Kbuild b/include/uapi/linux/netfilter_bridge/Kbuild index 348717c3a22f..0fbad8ef96de 100644 --- a/include/uapi/linux/netfilter_bridge/Kbuild +++ b/include/uapi/linux/netfilter_bridge/Kbuild | |||
| @@ -14,6 +14,5 @@ header-y += ebt_nflog.h | |||
| 14 | header-y += ebt_pkttype.h | 14 | header-y += ebt_pkttype.h |
| 15 | header-y += ebt_redirect.h | 15 | header-y += ebt_redirect.h |
| 16 | header-y += ebt_stp.h | 16 | header-y += ebt_stp.h |
| 17 | header-y += ebt_ulog.h | ||
| 18 | header-y += ebt_vlan.h | 17 | header-y += ebt_vlan.h |
| 19 | header-y += ebtables.h | 18 | header-y += ebtables.h |
diff --git a/include/uapi/linux/netfilter_bridge/ebt_ulog.h b/include/uapi/linux/netfilter_bridge/ebt_ulog.h deleted file mode 100644 index 89a6becb5269..000000000000 --- a/include/uapi/linux/netfilter_bridge/ebt_ulog.h +++ /dev/null | |||
| @@ -1,38 +0,0 @@ | |||
| 1 | #ifndef _EBT_ULOG_H | ||
| 2 | #define _EBT_ULOG_H | ||
| 3 | |||
| 4 | #include <linux/types.h> | ||
| 5 | |||
| 6 | #define EBT_ULOG_DEFAULT_NLGROUP 0 | ||
| 7 | #define EBT_ULOG_DEFAULT_QTHRESHOLD 1 | ||
| 8 | #define EBT_ULOG_MAXNLGROUPS 32 /* hardcoded netlink max */ | ||
| 9 | #define EBT_ULOG_PREFIX_LEN 32 | ||
| 10 | #define EBT_ULOG_MAX_QLEN 50 | ||
| 11 | #define EBT_ULOG_WATCHER "ulog" | ||
| 12 | #define EBT_ULOG_VERSION 1 | ||
| 13 | |||
| 14 | struct ebt_ulog_info { | ||
| 15 | __u32 nlgroup; | ||
| 16 | unsigned int cprange; | ||
| 17 | unsigned int qthreshold; | ||
| 18 | char prefix[EBT_ULOG_PREFIX_LEN]; | ||
| 19 | }; | ||
| 20 | |||
| 21 | typedef struct ebt_ulog_packet_msg { | ||
| 22 | int version; | ||
| 23 | char indev[IFNAMSIZ]; | ||
| 24 | char outdev[IFNAMSIZ]; | ||
| 25 | char physindev[IFNAMSIZ]; | ||
| 26 | char physoutdev[IFNAMSIZ]; | ||
| 27 | char prefix[EBT_ULOG_PREFIX_LEN]; | ||
| 28 | struct timeval stamp; | ||
| 29 | unsigned long mark; | ||
| 30 | unsigned int hook; | ||
| 31 | size_t data_len; | ||
| 32 | /* The complete packet, including Ethernet header and perhaps | ||
| 33 | * the VLAN header is appended */ | ||
| 34 | unsigned char data[0] __attribute__ | ||
| 35 | ((aligned (__alignof__(struct ebt_ulog_info)))); | ||
| 36 | } ebt_ulog_packet_msg_t; | ||
| 37 | |||
| 38 | #endif /* _EBT_ULOG_H */ | ||
diff --git a/include/uapi/linux/netfilter_ipv4/Kbuild b/include/uapi/linux/netfilter_ipv4/Kbuild index fb008437dde1..ecb291df390e 100644 --- a/include/uapi/linux/netfilter_ipv4/Kbuild +++ b/include/uapi/linux/netfilter_ipv4/Kbuild | |||
| @@ -5,7 +5,6 @@ header-y += ipt_ECN.h | |||
| 5 | header-y += ipt_LOG.h | 5 | header-y += ipt_LOG.h |
| 6 | header-y += ipt_REJECT.h | 6 | header-y += ipt_REJECT.h |
| 7 | header-y += ipt_TTL.h | 7 | header-y += ipt_TTL.h |
| 8 | header-y += ipt_ULOG.h | ||
| 9 | header-y += ipt_ah.h | 8 | header-y += ipt_ah.h |
| 10 | header-y += ipt_ecn.h | 9 | header-y += ipt_ecn.h |
| 11 | header-y += ipt_ttl.h | 10 | header-y += ipt_ttl.h |
diff --git a/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h b/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h deleted file mode 100644 index 417aad280bcc..000000000000 --- a/include/uapi/linux/netfilter_ipv4/ipt_ULOG.h +++ /dev/null | |||
| @@ -1,49 +0,0 @@ | |||
| 1 | /* Header file for IP tables userspace logging, Version 1.8 | ||
| 2 | * | ||
| 3 | * (C) 2000-2002 by Harald Welte <laforge@gnumonks.org> | ||
| 4 | * | ||
| 5 | * Distributed under the terms of GNU GPL */ | ||
| 6 | |||
| 7 | #ifndef _IPT_ULOG_H | ||
| 8 | #define _IPT_ULOG_H | ||
| 9 | |||
| 10 | #ifndef NETLINK_NFLOG | ||
| 11 | #define NETLINK_NFLOG 5 | ||
| 12 | #endif | ||
| 13 | |||
| 14 | #define ULOG_DEFAULT_NLGROUP 1 | ||
| 15 | #define ULOG_DEFAULT_QTHRESHOLD 1 | ||
| 16 | |||
| 17 | #define ULOG_MAC_LEN 80 | ||
| 18 | #define ULOG_PREFIX_LEN 32 | ||
| 19 | |||
| 20 | #define ULOG_MAX_QLEN 50 | ||
| 21 | /* Why 50? Well... there is a limit imposed by the slab cache 131000 | ||
| 22 | * bytes. So the multipart netlink-message has to be < 131000 bytes. | ||
| 23 | * Assuming a standard ethernet-mtu of 1500, we could define this up | ||
| 24 | * to 80... but even 50 seems to be big enough. */ | ||
| 25 | |||
| 26 | /* private data structure for each rule with a ULOG target */ | ||
| 27 | struct ipt_ulog_info { | ||
| 28 | unsigned int nl_group; | ||
| 29 | size_t copy_range; | ||
| 30 | size_t qthreshold; | ||
| 31 | char prefix[ULOG_PREFIX_LEN]; | ||
| 32 | }; | ||
| 33 | |||
| 34 | /* Format of the ULOG packets passed through netlink */ | ||
| 35 | typedef struct ulog_packet_msg { | ||
| 36 | unsigned long mark; | ||
| 37 | long timestamp_sec; | ||
| 38 | long timestamp_usec; | ||
| 39 | unsigned int hook; | ||
| 40 | char indev_name[IFNAMSIZ]; | ||
| 41 | char outdev_name[IFNAMSIZ]; | ||
| 42 | size_t data_len; | ||
| 43 | char prefix[ULOG_PREFIX_LEN]; | ||
| 44 | unsigned char mac_len; | ||
| 45 | unsigned char mac[ULOG_MAC_LEN]; | ||
| 46 | unsigned char payload[0]; | ||
| 47 | } ulog_packet_msg_t; | ||
| 48 | |||
| 49 | #endif /*_IPT_ULOG_H*/ | ||
diff --git a/include/uapi/linux/nl80211.h b/include/uapi/linux/nl80211.h index be9519b52bb1..f1db15b9c041 100644 --- a/include/uapi/linux/nl80211.h +++ b/include/uapi/linux/nl80211.h | |||
| @@ -1591,6 +1591,9 @@ enum nl80211_commands { | |||
| 1591 | * creation then the new interface will be owned by the netlink socket | 1591 | * creation then the new interface will be owned by the netlink socket |
| 1592 | * that created it and will be destroyed when the socket is closed | 1592 | * that created it and will be destroyed when the socket is closed |
| 1593 | * | 1593 | * |
| 1594 | * @NL80211_ATTR_TDLS_INITIATOR: flag attribute indicating the current end is | ||
| 1595 | * the TDLS link initiator. | ||
| 1596 | * | ||
| 1594 | * @NL80211_ATTR_MAX: highest attribute number currently defined | 1597 | * @NL80211_ATTR_MAX: highest attribute number currently defined |
| 1595 | * @__NL80211_ATTR_AFTER_LAST: internal use | 1598 | * @__NL80211_ATTR_AFTER_LAST: internal use |
| 1596 | */ | 1599 | */ |
| @@ -1931,6 +1934,8 @@ enum nl80211_attrs { | |||
| 1931 | NL80211_ATTR_CSA_C_OFFSETS_TX, | 1934 | NL80211_ATTR_CSA_C_OFFSETS_TX, |
| 1932 | NL80211_ATTR_MAX_CSA_COUNTERS, | 1935 | NL80211_ATTR_MAX_CSA_COUNTERS, |
| 1933 | 1936 | ||
| 1937 | NL80211_ATTR_TDLS_INITIATOR, | ||
| 1938 | |||
| 1934 | /* add attributes here, update the policy in nl80211.c */ | 1939 | /* add attributes here, update the policy in nl80211.c */ |
| 1935 | 1940 | ||
| 1936 | __NL80211_ATTR_AFTER_LAST, | 1941 | __NL80211_ATTR_AFTER_LAST, |
diff --git a/include/uapi/linux/openvswitch.h b/include/uapi/linux/openvswitch.h index 0b979ee4bfc0..a794d1dd7b40 100644 --- a/include/uapi/linux/openvswitch.h +++ b/include/uapi/linux/openvswitch.h | |||
| @@ -118,6 +118,9 @@ struct ovs_vport_stats { | |||
| 118 | /* Allow last Netlink attribute to be unaligned */ | 118 | /* Allow last Netlink attribute to be unaligned */ |
| 119 | #define OVS_DP_F_UNALIGNED (1 << 0) | 119 | #define OVS_DP_F_UNALIGNED (1 << 0) |
| 120 | 120 | ||
| 121 | /* Allow datapath to associate multiple Netlink PIDs to each vport */ | ||
| 122 | #define OVS_DP_F_VPORT_PIDS (1 << 1) | ||
| 123 | |||
| 121 | /* Fixed logical ports. */ | 124 | /* Fixed logical ports. */ |
| 122 | #define OVSP_LOCAL ((__u32)0) | 125 | #define OVSP_LOCAL ((__u32)0) |
| 123 | 126 | ||
| @@ -203,9 +206,10 @@ enum ovs_vport_type { | |||
| 203 | * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes | 206 | * this is the name of the network device. Maximum length %IFNAMSIZ-1 bytes |
| 204 | * plus a null terminator. | 207 | * plus a null terminator. |
| 205 | * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information. | 208 | * @OVS_VPORT_ATTR_OPTIONS: Vport-specific configuration information. |
| 206 | * @OVS_VPORT_ATTR_UPCALL_PID: The Netlink socket in userspace that | 209 | * @OVS_VPORT_ATTR_UPCALL_PID: The array of Netlink socket pids in userspace |
| 207 | * OVS_PACKET_CMD_MISS upcalls will be directed to for packets received on | 210 | * among which OVS_PACKET_CMD_MISS upcalls will be distributed for packets |
| 208 | * this port. A value of zero indicates that upcalls should not be sent. | 211 | * received on this port. If this is a single-element array of value 0, |
| 212 | * upcalls should not be sent. | ||
| 209 | * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for | 213 | * @OVS_VPORT_ATTR_STATS: A &struct ovs_vport_stats giving statistics for |
| 210 | * packets sent or received through the vport. | 214 | * packets sent or received through the vport. |
| 211 | * | 215 | * |
| @@ -228,7 +232,8 @@ enum ovs_vport_attr { | |||
| 228 | OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */ | 232 | OVS_VPORT_ATTR_TYPE, /* u32 OVS_VPORT_TYPE_* constant. */ |
| 229 | OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */ | 233 | OVS_VPORT_ATTR_NAME, /* string name, up to IFNAMSIZ bytes long */ |
| 230 | OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */ | 234 | OVS_VPORT_ATTR_OPTIONS, /* nested attributes, varies by vport type */ |
| 231 | OVS_VPORT_ATTR_UPCALL_PID, /* u32 Netlink PID to receive upcalls */ | 235 | OVS_VPORT_ATTR_UPCALL_PID, /* array of u32 Netlink socket PIDs for */ |
| 236 | /* receiving upcalls */ | ||
| 232 | OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */ | 237 | OVS_VPORT_ATTR_STATS, /* struct ovs_vport_stats */ |
| 233 | __OVS_VPORT_ATTR_MAX | 238 | __OVS_VPORT_ATTR_MAX |
| 234 | }; | 239 | }; |
diff --git a/include/uapi/linux/random.h b/include/uapi/linux/random.h index fff3528a078f..3f93d1695e7f 100644 --- a/include/uapi/linux/random.h +++ b/include/uapi/linux/random.h | |||
| @@ -40,4 +40,13 @@ struct rand_pool_info { | |||
| 40 | __u32 buf[0]; | 40 | __u32 buf[0]; |
| 41 | }; | 41 | }; |
| 42 | 42 | ||
| 43 | /* | ||
| 44 | * Flags for getrandom(2) | ||
| 45 | * | ||
| 46 | * GRND_NONBLOCK Don't block and return EAGAIN instead | ||
| 47 | * GRND_RANDOM Use the /dev/random pool instead of /dev/urandom | ||
| 48 | */ | ||
| 49 | #define GRND_NONBLOCK 0x0001 | ||
| 50 | #define GRND_RANDOM 0x0002 | ||
| 51 | |||
| 43 | #endif /* _UAPI_LINUX_RANDOM_H */ | 52 | #endif /* _UAPI_LINUX_RANDOM_H */ |
diff --git a/include/uapi/linux/sctp.h b/include/uapi/linux/sctp.h index 266022a2be4a..ce70fe6b45df 100644 --- a/include/uapi/linux/sctp.h +++ b/include/uapi/linux/sctp.h | |||
| @@ -95,6 +95,9 @@ typedef __s32 sctp_assoc_t; | |||
| 95 | #define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */ | 95 | #define SCTP_GET_ASSOC_ID_LIST 29 /* Read only */ |
| 96 | #define SCTP_AUTO_ASCONF 30 | 96 | #define SCTP_AUTO_ASCONF 30 |
| 97 | #define SCTP_PEER_ADDR_THLDS 31 | 97 | #define SCTP_PEER_ADDR_THLDS 31 |
| 98 | #define SCTP_RECVRCVINFO 32 | ||
| 99 | #define SCTP_RECVNXTINFO 33 | ||
| 100 | #define SCTP_DEFAULT_SNDINFO 34 | ||
| 98 | 101 | ||
| 99 | /* Internal Socket Options. Some of the sctp library functions are | 102 | /* Internal Socket Options. Some of the sctp library functions are |
| 100 | * implemented using these socket options. | 103 | * implemented using these socket options. |
| @@ -110,8 +113,14 @@ typedef __s32 sctp_assoc_t; | |||
| 110 | #define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ | 113 | #define SCTP_SOCKOPT_CONNECTX3 111 /* CONNECTX requests (updated) */ |
| 111 | #define SCTP_GET_ASSOC_STATS 112 /* Read only */ | 114 | #define SCTP_GET_ASSOC_STATS 112 /* Read only */ |
| 112 | 115 | ||
| 113 | /* | 116 | /* These are bit fields for msghdr->msg_flags. See section 5.1. */ |
| 114 | * 5.2.1 SCTP Initiation Structure (SCTP_INIT) | 117 | /* On user space Linux, these live in <bits/socket.h> as an enum. */ |
| 118 | enum sctp_msg_flags { | ||
| 119 | MSG_NOTIFICATION = 0x8000, | ||
| 120 | #define MSG_NOTIFICATION MSG_NOTIFICATION | ||
| 121 | }; | ||
| 122 | |||
| 123 | /* 5.3.1 SCTP Initiation Structure (SCTP_INIT) | ||
| 115 | * | 124 | * |
| 116 | * This cmsghdr structure provides information for initializing new | 125 | * This cmsghdr structure provides information for initializing new |
| 117 | * SCTP associations with sendmsg(). The SCTP_INITMSG socket option | 126 | * SCTP associations with sendmsg(). The SCTP_INITMSG socket option |
| @@ -121,7 +130,6 @@ typedef __s32 sctp_assoc_t; | |||
| 121 | * cmsg_level cmsg_type cmsg_data[] | 130 | * cmsg_level cmsg_type cmsg_data[] |
| 122 | * ------------ ------------ ---------------------- | 131 | * ------------ ------------ ---------------------- |
| 123 | * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg | 132 | * IPPROTO_SCTP SCTP_INIT struct sctp_initmsg |
| 124 | * | ||
| 125 | */ | 133 | */ |
| 126 | struct sctp_initmsg { | 134 | struct sctp_initmsg { |
| 127 | __u16 sinit_num_ostreams; | 135 | __u16 sinit_num_ostreams; |
| @@ -130,8 +138,7 @@ struct sctp_initmsg { | |||
| 130 | __u16 sinit_max_init_timeo; | 138 | __u16 sinit_max_init_timeo; |
| 131 | }; | 139 | }; |
| 132 | 140 | ||
| 133 | /* | 141 | /* 5.3.2 SCTP Header Information Structure (SCTP_SNDRCV) |
| 134 | * 5.2.2 SCTP Header Information Structure (SCTP_SNDRCV) | ||
| 135 | * | 142 | * |
| 136 | * This cmsghdr structure specifies SCTP options for sendmsg() and | 143 | * This cmsghdr structure specifies SCTP options for sendmsg() and |
| 137 | * describes SCTP header information about a received message through | 144 | * describes SCTP header information about a received message through |
| @@ -140,7 +147,6 @@ struct sctp_initmsg { | |||
| 140 | * cmsg_level cmsg_type cmsg_data[] | 147 | * cmsg_level cmsg_type cmsg_data[] |
| 141 | * ------------ ------------ ---------------------- | 148 | * ------------ ------------ ---------------------- |
| 142 | * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo | 149 | * IPPROTO_SCTP SCTP_SNDRCV struct sctp_sndrcvinfo |
| 143 | * | ||
| 144 | */ | 150 | */ |
| 145 | struct sctp_sndrcvinfo { | 151 | struct sctp_sndrcvinfo { |
| 146 | __u16 sinfo_stream; | 152 | __u16 sinfo_stream; |
| @@ -154,19 +160,74 @@ struct sctp_sndrcvinfo { | |||
| 154 | sctp_assoc_t sinfo_assoc_id; | 160 | sctp_assoc_t sinfo_assoc_id; |
| 155 | }; | 161 | }; |
| 156 | 162 | ||
| 163 | /* 5.3.4 SCTP Send Information Structure (SCTP_SNDINFO) | ||
| 164 | * | ||
| 165 | * This cmsghdr structure specifies SCTP options for sendmsg(). | ||
| 166 | * | ||
| 167 | * cmsg_level cmsg_type cmsg_data[] | ||
| 168 | * ------------ ------------ ------------------- | ||
| 169 | * IPPROTO_SCTP SCTP_SNDINFO struct sctp_sndinfo | ||
| 170 | */ | ||
| 171 | struct sctp_sndinfo { | ||
| 172 | __u16 snd_sid; | ||
| 173 | __u16 snd_flags; | ||
| 174 | __u32 snd_ppid; | ||
| 175 | __u32 snd_context; | ||
| 176 | sctp_assoc_t snd_assoc_id; | ||
| 177 | }; | ||
| 178 | |||
| 179 | /* 5.3.5 SCTP Receive Information Structure (SCTP_RCVINFO) | ||
| 180 | * | ||
| 181 | * This cmsghdr structure describes SCTP receive information | ||
| 182 | * about a received message through recvmsg(). | ||
| 183 | * | ||
| 184 | * cmsg_level cmsg_type cmsg_data[] | ||
| 185 | * ------------ ------------ ------------------- | ||
| 186 | * IPPROTO_SCTP SCTP_RCVINFO struct sctp_rcvinfo | ||
| 187 | */ | ||
| 188 | struct sctp_rcvinfo { | ||
| 189 | __u16 rcv_sid; | ||
| 190 | __u16 rcv_ssn; | ||
| 191 | __u16 rcv_flags; | ||
| 192 | __u32 rcv_ppid; | ||
| 193 | __u32 rcv_tsn; | ||
| 194 | __u32 rcv_cumtsn; | ||
| 195 | __u32 rcv_context; | ||
| 196 | sctp_assoc_t rcv_assoc_id; | ||
| 197 | }; | ||
| 198 | |||
| 199 | /* 5.3.6 SCTP Next Receive Information Structure (SCTP_NXTINFO) | ||
| 200 | * | ||
| 201 | * This cmsghdr structure describes SCTP receive information | ||
| 202 | * of the next message that will be delivered through recvmsg() | ||
| 203 | * if this information is already available when delivering | ||
| 204 | * the current message. | ||
| 205 | * | ||
| 206 | * cmsg_level cmsg_type cmsg_data[] | ||
| 207 | * ------------ ------------ ------------------- | ||
| 208 | * IPPROTO_SCTP SCTP_NXTINFO struct sctp_nxtinfo | ||
| 209 | */ | ||
| 210 | struct sctp_nxtinfo { | ||
| 211 | __u16 nxt_sid; | ||
| 212 | __u16 nxt_flags; | ||
| 213 | __u32 nxt_ppid; | ||
| 214 | __u32 nxt_length; | ||
| 215 | sctp_assoc_t nxt_assoc_id; | ||
| 216 | }; | ||
| 217 | |||
| 157 | /* | 218 | /* |
| 158 | * sinfo_flags: 16 bits (unsigned integer) | 219 | * sinfo_flags: 16 bits (unsigned integer) |
| 159 | * | 220 | * |
| 160 | * This field may contain any of the following flags and is composed of | 221 | * This field may contain any of the following flags and is composed of |
| 161 | * a bitwise OR of these values. | 222 | * a bitwise OR of these values. |
| 162 | */ | 223 | */ |
| 163 | |||
| 164 | enum sctp_sinfo_flags { | 224 | enum sctp_sinfo_flags { |
| 165 | SCTP_UNORDERED = 1, /* Send/receive message unordered. */ | 225 | SCTP_UNORDERED = (1 << 0), /* Send/receive message unordered. */ |
| 166 | SCTP_ADDR_OVER = 2, /* Override the primary destination. */ | 226 | SCTP_ADDR_OVER = (1 << 1), /* Override the primary destination. */ |
| 167 | SCTP_ABORT=4, /* Send an ABORT message to the peer. */ | 227 | SCTP_ABORT = (1 << 2), /* Send an ABORT message to the peer. */ |
| 168 | SCTP_SACK_IMMEDIATELY = 8, /* SACK should be sent without delay */ | 228 | SCTP_SACK_IMMEDIATELY = (1 << 3), /* SACK should be sent without delay. */ |
| 169 | SCTP_EOF=MSG_FIN, /* Initiate graceful shutdown process. */ | 229 | SCTP_NOTIFICATION = MSG_NOTIFICATION, /* Next message is not user msg but notification. */ |
| 230 | SCTP_EOF = MSG_FIN, /* Initiate graceful shutdown process. */ | ||
| 170 | }; | 231 | }; |
| 171 | 232 | ||
| 172 | typedef union { | 233 | typedef union { |
| @@ -177,10 +238,16 @@ typedef union { | |||
| 177 | 238 | ||
| 178 | /* These are cmsg_types. */ | 239 | /* These are cmsg_types. */ |
| 179 | typedef enum sctp_cmsg_type { | 240 | typedef enum sctp_cmsg_type { |
| 180 | SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */ | 241 | SCTP_INIT, /* 5.2.1 SCTP Initiation Structure */ |
| 181 | #define SCTP_INIT SCTP_INIT | 242 | #define SCTP_INIT SCTP_INIT |
| 182 | SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */ | 243 | SCTP_SNDRCV, /* 5.2.2 SCTP Header Information Structure */ |
| 183 | #define SCTP_SNDRCV SCTP_SNDRCV | 244 | #define SCTP_SNDRCV SCTP_SNDRCV |
| 245 | SCTP_SNDINFO, /* 5.3.4 SCTP Send Information Structure */ | ||
| 246 | #define SCTP_SNDINFO SCTP_SNDINFO | ||
| 247 | SCTP_RCVINFO, /* 5.3.5 SCTP Receive Information Structure */ | ||
| 248 | #define SCTP_RCVINFO SCTP_RCVINFO | ||
| 249 | SCTP_NXTINFO, /* 5.3.6 SCTP Next Receive Information Structure */ | ||
| 250 | #define SCTP_NXTINFO SCTP_NXTINFO | ||
| 184 | } sctp_cmsg_t; | 251 | } sctp_cmsg_t; |
| 185 | 252 | ||
| 186 | /* | 253 | /* |
| @@ -808,13 +875,6 @@ struct sctp_assoc_stats { | |||
| 808 | __u64 sas_ictrlchunks; /* Control chunks received */ | 875 | __u64 sas_ictrlchunks; /* Control chunks received */ |
| 809 | }; | 876 | }; |
| 810 | 877 | ||
| 811 | /* These are bit fields for msghdr->msg_flags. See section 5.1. */ | ||
| 812 | /* On user space Linux, these live in <bits/socket.h> as an enum. */ | ||
| 813 | enum sctp_msg_flags { | ||
| 814 | MSG_NOTIFICATION = 0x8000, | ||
| 815 | #define MSG_NOTIFICATION MSG_NOTIFICATION | ||
| 816 | }; | ||
| 817 | |||
| 818 | /* | 878 | /* |
| 819 | * 8.1 sctp_bindx() | 879 | * 8.1 sctp_bindx() |
| 820 | * | 880 | * |
diff --git a/include/uapi/linux/seccomp.h b/include/uapi/linux/seccomp.h index ac2dc9f72973..0f238a43ff1e 100644 --- a/include/uapi/linux/seccomp.h +++ b/include/uapi/linux/seccomp.h | |||
| @@ -10,6 +10,13 @@ | |||
| 10 | #define SECCOMP_MODE_STRICT 1 /* uses hard-coded filter. */ | 10 | #define SECCOMP_MODE_STRICT 1 /* uses hard-coded filter. */ |
| 11 | #define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */ | 11 | #define SECCOMP_MODE_FILTER 2 /* uses user-supplied filter. */ |
| 12 | 12 | ||
| 13 | /* Valid operations for seccomp syscall. */ | ||
| 14 | #define SECCOMP_SET_MODE_STRICT 0 | ||
| 15 | #define SECCOMP_SET_MODE_FILTER 1 | ||
| 16 | |||
| 17 | /* Valid flags for SECCOMP_SET_MODE_FILTER */ | ||
| 18 | #define SECCOMP_FILTER_FLAG_TSYNC 1 | ||
| 19 | |||
| 13 | /* | 20 | /* |
| 14 | * All BPF programs must return a 32-bit value. | 21 | * All BPF programs must return a 32-bit value. |
| 15 | * The bottom 16-bits are for optional return data. | 22 | * The bottom 16-bits are for optional return data. |
diff --git a/include/uapi/linux/serial_reg.h b/include/uapi/linux/serial_reg.h index 99b47058816a..df6c9ab6b0cd 100644 --- a/include/uapi/linux/serial_reg.h +++ b/include/uapi/linux/serial_reg.h | |||
| @@ -88,6 +88,11 @@ | |||
| 88 | #define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */ | 88 | #define UART_FCR6_T_TRIGGER_30 0x30 /* Mask for transmit trigger set at 30 */ |
| 89 | #define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750) */ | 89 | #define UART_FCR7_64BYTE 0x20 /* Go into 64 byte mode (TI16C750) */ |
| 90 | 90 | ||
| 91 | #define UART_FCR_R_TRIG_SHIFT 6 | ||
| 92 | #define UART_FCR_R_TRIG_BITS(x) \ | ||
| 93 | (((x) & UART_FCR_TRIGGER_MASK) >> UART_FCR_R_TRIG_SHIFT) | ||
| 94 | #define UART_FCR_R_TRIG_MAX_STATE 4 | ||
| 95 | |||
| 91 | #define UART_LCR 3 /* Out: Line Control Register */ | 96 | #define UART_LCR 3 /* Out: Line Control Register */ |
| 92 | /* | 97 | /* |
| 93 | * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting | 98 | * Note: if the word length is 5 bits (UART_LCR_WLEN5), then setting |
diff --git a/include/uapi/linux/serio.h b/include/uapi/linux/serio.h index 9f53fa7fc132..becdd78295cc 100644 --- a/include/uapi/linux/serio.h +++ b/include/uapi/linux/serio.h | |||
| @@ -76,5 +76,6 @@ | |||
| 76 | #define SERIO_HAMPSHIRE 0x3b | 76 | #define SERIO_HAMPSHIRE 0x3b |
| 77 | #define SERIO_PS2MULT 0x3c | 77 | #define SERIO_PS2MULT 0x3c |
| 78 | #define SERIO_TSC40 0x3d | 78 | #define SERIO_TSC40 0x3d |
| 79 | #define SERIO_WACOM_IV 0x3e | ||
| 79 | 80 | ||
| 80 | #endif /* _UAPI_SERIO_H */ | 81 | #endif /* _UAPI_SERIO_H */ |
diff --git a/include/uapi/linux/sysctl.h b/include/uapi/linux/sysctl.h index 6d6721341f49..43aaba1cc037 100644 --- a/include/uapi/linux/sysctl.h +++ b/include/uapi/linux/sysctl.h | |||
| @@ -568,6 +568,7 @@ enum { | |||
| 568 | NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, | 568 | NET_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=22, |
| 569 | NET_IPV6_PROXY_NDP=23, | 569 | NET_IPV6_PROXY_NDP=23, |
| 570 | NET_IPV6_ACCEPT_SOURCE_ROUTE=25, | 570 | NET_IPV6_ACCEPT_SOURCE_ROUTE=25, |
| 571 | NET_IPV6_ACCEPT_RA_FROM_LOCAL=26, | ||
| 571 | __NET_IPV6_MAX | 572 | __NET_IPV6_MAX |
| 572 | }; | 573 | }; |
| 573 | 574 | ||
diff --git a/include/uapi/linux/tipc_config.h b/include/uapi/linux/tipc_config.h index 41a76acbb305..876d0a14863c 100644 --- a/include/uapi/linux/tipc_config.h +++ b/include/uapi/linux/tipc_config.h | |||
| @@ -182,7 +182,7 @@ | |||
| 182 | 182 | ||
| 183 | #define TIPC_MIN_LINK_WIN 16 | 183 | #define TIPC_MIN_LINK_WIN 16 |
| 184 | #define TIPC_DEF_LINK_WIN 50 | 184 | #define TIPC_DEF_LINK_WIN 50 |
| 185 | #define TIPC_MAX_LINK_WIN 150 | 185 | #define TIPC_MAX_LINK_WIN 8191 |
| 186 | 186 | ||
| 187 | 187 | ||
| 188 | struct tipc_node_info { | 188 | struct tipc_node_info { |
diff --git a/include/uapi/linux/uinput.h b/include/uapi/linux/uinput.h index 0389b489bbba..baeab83deb64 100644 --- a/include/uapi/linux/uinput.h +++ b/include/uapi/linux/uinput.h | |||
| @@ -84,6 +84,15 @@ struct uinput_ff_erase { | |||
| 84 | */ | 84 | */ |
| 85 | #define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 300, len) | 85 | #define UI_GET_SYSNAME(len) _IOC(_IOC_READ, UINPUT_IOCTL_BASE, 300, len) |
| 86 | 86 | ||
| 87 | /** | ||
| 88 | * UI_GET_VERSION - Return version of uinput protocol | ||
| 89 | * | ||
| 90 | * This writes uinput protocol version implemented by the kernel into | ||
| 91 | * the integer pointed to by the ioctl argument. The protocol version | ||
| 92 | * is hard-coded in the kernel and is independent of the uinput device. | ||
| 93 | */ | ||
| 94 | #define UI_GET_VERSION _IOR(UINPUT_IOCTL_BASE, 301, unsigned int) | ||
| 95 | |||
| 87 | /* | 96 | /* |
| 88 | * To write a force-feedback-capable driver, the upload_effect | 97 | * To write a force-feedback-capable driver, the upload_effect |
| 89 | * and erase_effect callbacks in input_dev must be implemented. | 98 | * and erase_effect callbacks in input_dev must be implemented. |
diff --git a/include/uapi/linux/usb/functionfs.h b/include/uapi/linux/usb/functionfs.h index 24b68c59dcf8..0154b2859fd7 100644 --- a/include/uapi/linux/usb/functionfs.h +++ b/include/uapi/linux/usb/functionfs.h | |||
| @@ -18,10 +18,9 @@ enum functionfs_flags { | |||
| 18 | FUNCTIONFS_HAS_FS_DESC = 1, | 18 | FUNCTIONFS_HAS_FS_DESC = 1, |
| 19 | FUNCTIONFS_HAS_HS_DESC = 2, | 19 | FUNCTIONFS_HAS_HS_DESC = 2, |
| 20 | FUNCTIONFS_HAS_SS_DESC = 4, | 20 | FUNCTIONFS_HAS_SS_DESC = 4, |
| 21 | FUNCTIONFS_HAS_MS_OS_DESC = 8, | ||
| 21 | }; | 22 | }; |
| 22 | 23 | ||
| 23 | #ifndef __KERNEL__ | ||
| 24 | |||
| 25 | /* Descriptor of an non-audio endpoint */ | 24 | /* Descriptor of an non-audio endpoint */ |
| 26 | struct usb_endpoint_descriptor_no_audio { | 25 | struct usb_endpoint_descriptor_no_audio { |
| 27 | __u8 bLength; | 26 | __u8 bLength; |
| @@ -41,6 +40,37 @@ struct usb_functionfs_descs_head { | |||
| 41 | __le32 hs_count; | 40 | __le32 hs_count; |
| 42 | } __attribute__((packed, deprecated)); | 41 | } __attribute__((packed, deprecated)); |
| 43 | 42 | ||
| 43 | /* MS OS Descriptor header */ | ||
| 44 | struct usb_os_desc_header { | ||
| 45 | __u8 interface; | ||
| 46 | __le32 dwLength; | ||
| 47 | __le16 bcdVersion; | ||
| 48 | __le16 wIndex; | ||
| 49 | union { | ||
| 50 | struct { | ||
| 51 | __u8 bCount; | ||
| 52 | __u8 Reserved; | ||
| 53 | }; | ||
| 54 | __le16 wCount; | ||
| 55 | }; | ||
| 56 | } __attribute__((packed)); | ||
| 57 | |||
| 58 | struct usb_ext_compat_desc { | ||
| 59 | __u8 bFirstInterfaceNumber; | ||
| 60 | __u8 Reserved1; | ||
| 61 | __u8 CompatibleID[8]; | ||
| 62 | __u8 SubCompatibleID[8]; | ||
| 63 | __u8 Reserved2[6]; | ||
| 64 | }; | ||
| 65 | |||
| 66 | struct usb_ext_prop_desc { | ||
| 67 | __le32 dwSize; | ||
| 68 | __le32 dwPropertyDataType; | ||
| 69 | __le16 wPropertyNameLength; | ||
| 70 | } __attribute__((packed)); | ||
| 71 | |||
| 72 | #ifndef __KERNEL__ | ||
| 73 | |||
| 44 | /* | 74 | /* |
| 45 | * Descriptors format: | 75 | * Descriptors format: |
| 46 | * | 76 | * |
| @@ -52,9 +82,11 @@ struct usb_functionfs_descs_head { | |||
| 52 | * | | fs_count | LE32 | number of full-speed descriptors | | 82 | * | | fs_count | LE32 | number of full-speed descriptors | |
| 53 | * | | hs_count | LE32 | number of high-speed descriptors | | 83 | * | | hs_count | LE32 | number of high-speed descriptors | |
| 54 | * | | ss_count | LE32 | number of super-speed descriptors | | 84 | * | | ss_count | LE32 | number of super-speed descriptors | |
| 85 | * | | os_count | LE32 | number of MS OS descriptors | | ||
| 55 | * | | fs_descrs | Descriptor[] | list of full-speed descriptors | | 86 | * | | fs_descrs | Descriptor[] | list of full-speed descriptors | |
| 56 | * | | hs_descrs | Descriptor[] | list of high-speed descriptors | | 87 | * | | hs_descrs | Descriptor[] | list of high-speed descriptors | |
| 57 | * | | ss_descrs | Descriptor[] | list of super-speed descriptors | | 88 | * | | ss_descrs | Descriptor[] | list of super-speed descriptors | |
| 89 | * | | os_descrs | OSDesc[] | list of MS OS descriptors | | ||
| 58 | * | 90 | * |
| 59 | * Depending on which flags are set, various fields may be missing in the | 91 | * Depending on which flags are set, various fields may be missing in the |
| 60 | * structure. Any flags that are not recognised cause the whole block to be | 92 | * structure. Any flags that are not recognised cause the whole block to be |
| @@ -81,6 +113,52 @@ struct usb_functionfs_descs_head { | |||
| 81 | * | 0 | bLength | U8 | length of the descriptor | | 113 | * | 0 | bLength | U8 | length of the descriptor | |
| 82 | * | 1 | bDescriptorType | U8 | descriptor type | | 114 | * | 1 | bDescriptorType | U8 | descriptor type | |
| 83 | * | 2 | payload | | descriptor's payload | | 115 | * | 2 | payload | | descriptor's payload | |
| 116 | * | ||
| 117 | * OSDesc[] is an array of valid MS OS Feature Descriptors which have one of | ||
| 118 | * the following formats: | ||
| 119 | * | ||
| 120 | * | off | name | type | description | | ||
| 121 | * |-----+-----------------+------+--------------------------| | ||
| 122 | * | 0 | inteface | U8 | related interface number | | ||
| 123 | * | 1 | dwLength | U32 | length of the descriptor | | ||
| 124 | * | 5 | bcdVersion | U16 | currently supported: 1 | | ||
| 125 | * | 7 | wIndex | U16 | currently supported: 4 | | ||
| 126 | * | 9 | bCount | U8 | number of ext. compat. | | ||
| 127 | * | 10 | Reserved | U8 | 0 | | ||
| 128 | * | 11 | ExtCompat[] | | list of ext. compat. d. | | ||
| 129 | * | ||
| 130 | * | off | name | type | description | | ||
| 131 | * |-----+-----------------+------+--------------------------| | ||
| 132 | * | 0 | inteface | U8 | related interface number | | ||
| 133 | * | 1 | dwLength | U32 | length of the descriptor | | ||
| 134 | * | 5 | bcdVersion | U16 | currently supported: 1 | | ||
| 135 | * | 7 | wIndex | U16 | currently supported: 5 | | ||
| 136 | * | 9 | wCount | U16 | number of ext. compat. | | ||
| 137 | * | 11 | ExtProp[] | | list of ext. prop. d. | | ||
| 138 | * | ||
| 139 | * ExtCompat[] is an array of valid Extended Compatiblity descriptors | ||
| 140 | * which have the following format: | ||
| 141 | * | ||
| 142 | * | off | name | type | description | | ||
| 143 | * |-----+-----------------------+------+-------------------------------------| | ||
| 144 | * | 0 | bFirstInterfaceNumber | U8 | index of the interface or of the 1st| | ||
| 145 | * | | | | interface in an IAD group | | ||
| 146 | * | 1 | Reserved | U8 | 0 | | ||
| 147 | * | 2 | CompatibleID | U8[8]| compatible ID string | | ||
| 148 | * | 10 | SubCompatibleID | U8[8]| subcompatible ID string | | ||
| 149 | * | 18 | Reserved | U8[6]| 0 | | ||
| 150 | * | ||
| 151 | * ExtProp[] is an array of valid Extended Properties descriptors | ||
| 152 | * which have the following format: | ||
| 153 | * | ||
| 154 | * | off | name | type | description | | ||
| 155 | * |-----+-----------------------+------+-------------------------------------| | ||
| 156 | * | 0 | dwSize | U32 | length of the descriptor | | ||
| 157 | * | 4 | dwPropertyDataType | U32 | 1..7 | | ||
| 158 | * | 8 | wPropertyNameLength | U16 | bPropertyName length (NL) | | ||
| 159 | * | 10 | bPropertyName |U8[NL]| name of this property | | ||
| 160 | * |10+NL| dwPropertyDataLength | U32 | bPropertyData length (DL) | | ||
| 161 | * |14+NL| bProperty |U8[DL]| payload of this property | | ||
| 84 | */ | 162 | */ |
| 85 | 163 | ||
| 86 | struct usb_functionfs_strings_head { | 164 | struct usb_functionfs_strings_head { |
diff --git a/include/uapi/linux/usbip.h b/include/uapi/linux/usbip.h new file mode 100644 index 000000000000..fa5db30ede36 --- /dev/null +++ b/include/uapi/linux/usbip.h | |||
| @@ -0,0 +1,26 @@ | |||
| 1 | /* | ||
| 2 | * usbip.h | ||
| 3 | * | ||
| 4 | * USBIP uapi defines and function prototypes etc. | ||
| 5 | */ | ||
| 6 | |||
| 7 | #ifndef _UAPI_LINUX_USBIP_H | ||
| 8 | #define _UAPI_LINUX_USBIP_H | ||
| 9 | |||
| 10 | /* usbip device status - exported in usbip device sysfs status */ | ||
| 11 | enum usbip_device_status { | ||
| 12 | /* sdev is available. */ | ||
| 13 | SDEV_ST_AVAILABLE = 0x01, | ||
| 14 | /* sdev is now used. */ | ||
| 15 | SDEV_ST_USED, | ||
| 16 | /* sdev is unusable because of a fatal error. */ | ||
| 17 | SDEV_ST_ERROR, | ||
| 18 | |||
| 19 | /* vdev does not connect a remote device. */ | ||
| 20 | VDEV_ST_NULL, | ||
| 21 | /* vdev is used, but the USB address is not assigned yet */ | ||
| 22 | VDEV_ST_NOTASSIGNED, | ||
| 23 | VDEV_ST_USED, | ||
| 24 | VDEV_ST_ERROR | ||
| 25 | }; | ||
| 26 | #endif /* _UAPI_LINUX_USBIP_H */ | ||
diff --git a/include/uapi/linux/v4l2-controls.h b/include/uapi/linux/v4l2-controls.h index 2ac5597f3ee1..e946e43fb8d5 100644 --- a/include/uapi/linux/v4l2-controls.h +++ b/include/uapi/linux/v4l2-controls.h | |||
| @@ -61,6 +61,7 @@ | |||
| 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 /* FM Receiver controls */ | 62 | #define V4L2_CTRL_CLASS_FM_RX 0x00a10000 /* FM Receiver controls */ |
| 63 | #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ | 63 | #define V4L2_CTRL_CLASS_RF_TUNER 0x00a20000 /* RF tuner controls */ |
| 64 | #define V4L2_CTRL_CLASS_DETECT 0x00a30000 /* Detection controls */ | ||
| 64 | 65 | ||
| 65 | /* User-class control IDs */ | 66 | /* User-class control IDs */ |
| 66 | 67 | ||
| @@ -756,6 +757,15 @@ enum v4l2_auto_focus_range { | |||
| 756 | #define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) | 757 | #define V4L2_CID_RDS_TX_PTY (V4L2_CID_FM_TX_CLASS_BASE + 3) |
| 757 | #define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) | 758 | #define V4L2_CID_RDS_TX_PS_NAME (V4L2_CID_FM_TX_CLASS_BASE + 5) |
| 758 | #define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) | 759 | #define V4L2_CID_RDS_TX_RADIO_TEXT (V4L2_CID_FM_TX_CLASS_BASE + 6) |
| 760 | #define V4L2_CID_RDS_TX_MONO_STEREO (V4L2_CID_FM_TX_CLASS_BASE + 7) | ||
| 761 | #define V4L2_CID_RDS_TX_ARTIFICIAL_HEAD (V4L2_CID_FM_TX_CLASS_BASE + 8) | ||
| 762 | #define V4L2_CID_RDS_TX_COMPRESSED (V4L2_CID_FM_TX_CLASS_BASE + 9) | ||
| 763 | #define V4L2_CID_RDS_TX_DYNAMIC_PTY (V4L2_CID_FM_TX_CLASS_BASE + 10) | ||
| 764 | #define V4L2_CID_RDS_TX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_TX_CLASS_BASE + 11) | ||
| 765 | #define V4L2_CID_RDS_TX_TRAFFIC_PROGRAM (V4L2_CID_FM_TX_CLASS_BASE + 12) | ||
| 766 | #define V4L2_CID_RDS_TX_MUSIC_SPEECH (V4L2_CID_FM_TX_CLASS_BASE + 13) | ||
| 767 | #define V4L2_CID_RDS_TX_ALT_FREQS_ENABLE (V4L2_CID_FM_TX_CLASS_BASE + 14) | ||
| 768 | #define V4L2_CID_RDS_TX_ALT_FREQS (V4L2_CID_FM_TX_CLASS_BASE + 15) | ||
| 759 | 769 | ||
| 760 | #define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) | 770 | #define V4L2_CID_AUDIO_LIMITER_ENABLED (V4L2_CID_FM_TX_CLASS_BASE + 64) |
| 761 | #define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) | 771 | #define V4L2_CID_AUDIO_LIMITER_RELEASE_TIME (V4L2_CID_FM_TX_CLASS_BASE + 65) |
| @@ -900,6 +910,12 @@ enum v4l2_deemphasis { | |||
| 900 | }; | 910 | }; |
| 901 | 911 | ||
| 902 | #define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) | 912 | #define V4L2_CID_RDS_RECEPTION (V4L2_CID_FM_RX_CLASS_BASE + 2) |
| 913 | #define V4L2_CID_RDS_RX_PTY (V4L2_CID_FM_RX_CLASS_BASE + 3) | ||
| 914 | #define V4L2_CID_RDS_RX_PS_NAME (V4L2_CID_FM_RX_CLASS_BASE + 4) | ||
| 915 | #define V4L2_CID_RDS_RX_RADIO_TEXT (V4L2_CID_FM_RX_CLASS_BASE + 5) | ||
| 916 | #define V4L2_CID_RDS_RX_TRAFFIC_ANNOUNCEMENT (V4L2_CID_FM_RX_CLASS_BASE + 6) | ||
| 917 | #define V4L2_CID_RDS_RX_TRAFFIC_PROGRAM (V4L2_CID_FM_RX_CLASS_BASE + 7) | ||
| 918 | #define V4L2_CID_RDS_RX_MUSIC_SPEECH (V4L2_CID_FM_RX_CLASS_BASE + 8) | ||
| 903 | 919 | ||
| 904 | #define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) | 920 | #define V4L2_CID_RF_TUNER_CLASS_BASE (V4L2_CTRL_CLASS_RF_TUNER | 0x900) |
| 905 | #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1) | 921 | #define V4L2_CID_RF_TUNER_CLASS (V4L2_CTRL_CLASS_RF_TUNER | 1) |
| @@ -914,4 +930,20 @@ enum v4l2_deemphasis { | |||
| 914 | #define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) | 930 | #define V4L2_CID_RF_TUNER_IF_GAIN (V4L2_CID_RF_TUNER_CLASS_BASE + 62) |
| 915 | #define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) | 931 | #define V4L2_CID_RF_TUNER_PLL_LOCK (V4L2_CID_RF_TUNER_CLASS_BASE + 91) |
| 916 | 932 | ||
| 933 | |||
| 934 | /* Detection-class control IDs defined by V4L2 */ | ||
| 935 | #define V4L2_CID_DETECT_CLASS_BASE (V4L2_CTRL_CLASS_DETECT | 0x900) | ||
| 936 | #define V4L2_CID_DETECT_CLASS (V4L2_CTRL_CLASS_DETECT | 1) | ||
| 937 | |||
| 938 | #define V4L2_CID_DETECT_MD_MODE (V4L2_CID_DETECT_CLASS_BASE + 1) | ||
| 939 | enum v4l2_detect_md_mode { | ||
| 940 | V4L2_DETECT_MD_MODE_DISABLED = 0, | ||
| 941 | V4L2_DETECT_MD_MODE_GLOBAL = 1, | ||
| 942 | V4L2_DETECT_MD_MODE_THRESHOLD_GRID = 2, | ||
| 943 | V4L2_DETECT_MD_MODE_REGION_GRID = 3, | ||
| 944 | }; | ||
| 945 | #define V4L2_CID_DETECT_MD_GLOBAL_THRESHOLD (V4L2_CID_DETECT_CLASS_BASE + 2) | ||
| 946 | #define V4L2_CID_DETECT_MD_THRESHOLD_GRID (V4L2_CID_DETECT_CLASS_BASE + 3) | ||
| 947 | #define V4L2_CID_DETECT_MD_REGION_GRID (V4L2_CID_DETECT_CLASS_BASE + 4) | ||
| 948 | |||
| 917 | #endif | 949 | #endif |
diff --git a/include/uapi/linux/vfio.h b/include/uapi/linux/vfio.h index cb9023d4f063..6612974c64bf 100644 --- a/include/uapi/linux/vfio.h +++ b/include/uapi/linux/vfio.h | |||
| @@ -30,6 +30,9 @@ | |||
| 30 | */ | 30 | */ |
| 31 | #define VFIO_DMA_CC_IOMMU 4 | 31 | #define VFIO_DMA_CC_IOMMU 4 |
| 32 | 32 | ||
| 33 | /* Check if EEH is supported */ | ||
| 34 | #define VFIO_EEH 5 | ||
| 35 | |||
| 33 | /* | 36 | /* |
| 34 | * The IOCTL interface is designed for extensibility by embedding the | 37 | * The IOCTL interface is designed for extensibility by embedding the |
| 35 | * structure length (argsz) and flags into structures passed between | 38 | * structure length (argsz) and flags into structures passed between |
| @@ -455,6 +458,37 @@ struct vfio_iommu_spapr_tce_info { | |||
| 455 | 458 | ||
| 456 | #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) | 459 | #define VFIO_IOMMU_SPAPR_TCE_GET_INFO _IO(VFIO_TYPE, VFIO_BASE + 12) |
| 457 | 460 | ||
| 461 | /* | ||
| 462 | * EEH PE operation struct provides ways to: | ||
| 463 | * - enable/disable EEH functionality; | ||
| 464 | * - unfreeze IO/DMA for frozen PE; | ||
| 465 | * - read PE state; | ||
| 466 | * - reset PE; | ||
| 467 | * - configure PE. | ||
| 468 | */ | ||
| 469 | struct vfio_eeh_pe_op { | ||
| 470 | __u32 argsz; | ||
| 471 | __u32 flags; | ||
| 472 | __u32 op; | ||
| 473 | }; | ||
| 474 | |||
| 475 | #define VFIO_EEH_PE_DISABLE 0 /* Disable EEH functionality */ | ||
| 476 | #define VFIO_EEH_PE_ENABLE 1 /* Enable EEH functionality */ | ||
| 477 | #define VFIO_EEH_PE_UNFREEZE_IO 2 /* Enable IO for frozen PE */ | ||
| 478 | #define VFIO_EEH_PE_UNFREEZE_DMA 3 /* Enable DMA for frozen PE */ | ||
| 479 | #define VFIO_EEH_PE_GET_STATE 4 /* PE state retrieval */ | ||
| 480 | #define VFIO_EEH_PE_STATE_NORMAL 0 /* PE in functional state */ | ||
| 481 | #define VFIO_EEH_PE_STATE_RESET 1 /* PE reset in progress */ | ||
| 482 | #define VFIO_EEH_PE_STATE_STOPPED 2 /* Stopped DMA and IO */ | ||
| 483 | #define VFIO_EEH_PE_STATE_STOPPED_DMA 4 /* Stopped DMA only */ | ||
| 484 | #define VFIO_EEH_PE_STATE_UNAVAIL 5 /* State unavailable */ | ||
| 485 | #define VFIO_EEH_PE_RESET_DEACTIVATE 5 /* Deassert PE reset */ | ||
| 486 | #define VFIO_EEH_PE_RESET_HOT 6 /* Assert hot reset */ | ||
| 487 | #define VFIO_EEH_PE_RESET_FUNDAMENTAL 7 /* Assert fundamental reset */ | ||
| 488 | #define VFIO_EEH_PE_CONFIGURE 8 /* PE configuration */ | ||
| 489 | |||
| 490 | #define VFIO_EEH_PE_OP _IO(VFIO_TYPE, VFIO_BASE + 21) | ||
| 491 | |||
| 458 | /* ***************************************************************** */ | 492 | /* ***************************************************************** */ |
| 459 | 493 | ||
| 460 | #endif /* _UAPIVFIO_H */ | 494 | #endif /* _UAPIVFIO_H */ |
diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 168ff507bf75..778a3298fb34 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h | |||
| @@ -124,6 +124,10 @@ enum v4l2_field { | |||
| 124 | (field) == V4L2_FIELD_INTERLACED_BT ||\ | 124 | (field) == V4L2_FIELD_INTERLACED_BT ||\ |
| 125 | (field) == V4L2_FIELD_SEQ_TB ||\ | 125 | (field) == V4L2_FIELD_SEQ_TB ||\ |
| 126 | (field) == V4L2_FIELD_SEQ_BT) | 126 | (field) == V4L2_FIELD_SEQ_BT) |
| 127 | #define V4L2_FIELD_HAS_T_OR_B(field) \ | ||
| 128 | ((field) == V4L2_FIELD_BOTTOM ||\ | ||
| 129 | (field) == V4L2_FIELD_TOP ||\ | ||
| 130 | (field) == V4L2_FIELD_ALTERNATE) | ||
| 127 | 131 | ||
| 128 | enum v4l2_buf_type { | 132 | enum v4l2_buf_type { |
| 129 | V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, | 133 | V4L2_BUF_TYPE_VIDEO_CAPTURE = 1, |
| @@ -268,6 +272,7 @@ struct v4l2_capability { | |||
| 268 | #define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */ | 272 | #define V4L2_CAP_MODULATOR 0x00080000 /* has a modulator */ |
| 269 | 273 | ||
| 270 | #define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */ | 274 | #define V4L2_CAP_SDR_CAPTURE 0x00100000 /* Is a SDR capture device */ |
| 275 | #define V4L2_CAP_EXT_PIX_FORMAT 0x00200000 /* Supports the extended pixel format */ | ||
| 271 | 276 | ||
| 272 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ | 277 | #define V4L2_CAP_READWRITE 0x01000000 /* read/write systemcalls */ |
| 273 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ | 278 | #define V4L2_CAP_ASYNCIO 0x02000000 /* async I/O */ |
| @@ -287,6 +292,7 @@ struct v4l2_pix_format { | |||
| 287 | __u32 sizeimage; | 292 | __u32 sizeimage; |
| 288 | __u32 colorspace; /* enum v4l2_colorspace */ | 293 | __u32 colorspace; /* enum v4l2_colorspace */ |
| 289 | __u32 priv; /* private data, depends on pixelformat */ | 294 | __u32 priv; /* private data, depends on pixelformat */ |
| 295 | __u32 flags; /* format flags (V4L2_PIX_FMT_FLAG_*) */ | ||
| 290 | }; | 296 | }; |
| 291 | 297 | ||
| 292 | /* Pixel format FOURCC depth Description */ | 298 | /* Pixel format FOURCC depth Description */ |
| @@ -294,7 +300,11 @@ struct v4l2_pix_format { | |||
| 294 | /* RGB formats */ | 300 | /* RGB formats */ |
| 295 | #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ | 301 | #define V4L2_PIX_FMT_RGB332 v4l2_fourcc('R', 'G', 'B', '1') /* 8 RGB-3-3-2 */ |
| 296 | #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ | 302 | #define V4L2_PIX_FMT_RGB444 v4l2_fourcc('R', '4', '4', '4') /* 16 xxxxrrrr ggggbbbb */ |
| 303 | #define V4L2_PIX_FMT_ARGB444 v4l2_fourcc('A', 'R', '1', '2') /* 16 aaaarrrr ggggbbbb */ | ||
| 304 | #define V4L2_PIX_FMT_XRGB444 v4l2_fourcc('X', 'R', '1', '2') /* 16 xxxxrrrr ggggbbbb */ | ||
| 297 | #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ | 305 | #define V4L2_PIX_FMT_RGB555 v4l2_fourcc('R', 'G', 'B', 'O') /* 16 RGB-5-5-5 */ |
| 306 | #define V4L2_PIX_FMT_ARGB555 v4l2_fourcc('A', 'R', '1', '5') /* 16 ARGB-1-5-5-5 */ | ||
| 307 | #define V4L2_PIX_FMT_XRGB555 v4l2_fourcc('X', 'R', '1', '5') /* 16 XRGB-1-5-5-5 */ | ||
| 298 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ | 308 | #define V4L2_PIX_FMT_RGB565 v4l2_fourcc('R', 'G', 'B', 'P') /* 16 RGB-5-6-5 */ |
| 299 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ | 309 | #define V4L2_PIX_FMT_RGB555X v4l2_fourcc('R', 'G', 'B', 'Q') /* 16 RGB-5-5-5 BE */ |
| 300 | #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ | 310 | #define V4L2_PIX_FMT_RGB565X v4l2_fourcc('R', 'G', 'B', 'R') /* 16 RGB-5-6-5 BE */ |
| @@ -302,7 +312,11 @@ struct v4l2_pix_format { | |||
| 302 | #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ | 312 | #define V4L2_PIX_FMT_BGR24 v4l2_fourcc('B', 'G', 'R', '3') /* 24 BGR-8-8-8 */ |
| 303 | #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ | 313 | #define V4L2_PIX_FMT_RGB24 v4l2_fourcc('R', 'G', 'B', '3') /* 24 RGB-8-8-8 */ |
| 304 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ | 314 | #define V4L2_PIX_FMT_BGR32 v4l2_fourcc('B', 'G', 'R', '4') /* 32 BGR-8-8-8-8 */ |
| 315 | #define V4L2_PIX_FMT_ABGR32 v4l2_fourcc('A', 'R', '2', '4') /* 32 BGRA-8-8-8-8 */ | ||
| 316 | #define V4L2_PIX_FMT_XBGR32 v4l2_fourcc('X', 'R', '2', '4') /* 32 BGRX-8-8-8-8 */ | ||
| 305 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ | 317 | #define V4L2_PIX_FMT_RGB32 v4l2_fourcc('R', 'G', 'B', '4') /* 32 RGB-8-8-8-8 */ |
| 318 | #define V4L2_PIX_FMT_ARGB32 v4l2_fourcc('B', 'A', '2', '4') /* 32 ARGB-8-8-8-8 */ | ||
| 319 | #define V4L2_PIX_FMT_XRGB32 v4l2_fourcc('B', 'X', '2', '4') /* 32 XRGB-8-8-8-8 */ | ||
| 306 | 320 | ||
| 307 | /* Grey formats */ | 321 | /* Grey formats */ |
| 308 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ | 322 | #define V4L2_PIX_FMT_GREY v4l2_fourcc('G', 'R', 'E', 'Y') /* 8 Greyscale */ |
| @@ -439,6 +453,15 @@ struct v4l2_pix_format { | |||
| 439 | /* SDR formats - used only for Software Defined Radio devices */ | 453 | /* SDR formats - used only for Software Defined Radio devices */ |
| 440 | #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */ | 454 | #define V4L2_SDR_FMT_CU8 v4l2_fourcc('C', 'U', '0', '8') /* IQ u8 */ |
| 441 | #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */ | 455 | #define V4L2_SDR_FMT_CU16LE v4l2_fourcc('C', 'U', '1', '6') /* IQ u16le */ |
| 456 | #define V4L2_SDR_FMT_CS8 v4l2_fourcc('C', 'S', '0', '8') /* complex s8 */ | ||
| 457 | #define V4L2_SDR_FMT_CS14LE v4l2_fourcc('C', 'S', '1', '4') /* complex s14le */ | ||
| 458 | #define V4L2_SDR_FMT_RU12LE v4l2_fourcc('R', 'U', '1', '2') /* real u12le */ | ||
| 459 | |||
| 460 | /* priv field value to indicates that subsequent fields are valid. */ | ||
| 461 | #define V4L2_PIX_FMT_PRIV_MAGIC 0xfeedcafe | ||
| 462 | |||
| 463 | /* Flags */ | ||
| 464 | #define V4L2_PIX_FMT_FLAG_PREMUL_ALPHA 0x00000001 | ||
| 442 | 465 | ||
| 443 | /* | 466 | /* |
| 444 | * F O R M A T E N U M E R A T I O N | 467 | * F O R M A T E N U M E R A T I O N |
| @@ -744,7 +767,16 @@ struct v4l2_framebuffer { | |||
| 744 | /* FIXME: in theory we should pass something like PCI device + memory | 767 | /* FIXME: in theory we should pass something like PCI device + memory |
| 745 | * region + offset instead of some physical address */ | 768 | * region + offset instead of some physical address */ |
| 746 | void *base; | 769 | void *base; |
| 747 | struct v4l2_pix_format fmt; | 770 | struct { |
| 771 | __u32 width; | ||
| 772 | __u32 height; | ||
| 773 | __u32 pixelformat; | ||
| 774 | __u32 field; /* enum v4l2_field */ | ||
| 775 | __u32 bytesperline; /* for padding, zero if unused */ | ||
| 776 | __u32 sizeimage; | ||
| 777 | __u32 colorspace; /* enum v4l2_colorspace */ | ||
| 778 | __u32 priv; /* reserved field, set to 0 */ | ||
| 779 | } fmt; | ||
| 748 | }; | 780 | }; |
| 749 | /* Flags for the 'capability' field. Read only */ | 781 | /* Flags for the 'capability' field. Read only */ |
| 750 | #define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 | 782 | #define V4L2_FBUF_CAP_EXTERNOVERLAY 0x0001 |
| @@ -1254,6 +1286,10 @@ struct v4l2_ext_control { | |||
| 1254 | __s32 value; | 1286 | __s32 value; |
| 1255 | __s64 value64; | 1287 | __s64 value64; |
| 1256 | char *string; | 1288 | char *string; |
| 1289 | __u8 *p_u8; | ||
| 1290 | __u16 *p_u16; | ||
| 1291 | __u32 *p_u32; | ||
| 1292 | void *ptr; | ||
| 1257 | }; | 1293 | }; |
| 1258 | } __attribute__ ((packed)); | 1294 | } __attribute__ ((packed)); |
| 1259 | 1295 | ||
| @@ -1268,6 +1304,7 @@ struct v4l2_ext_controls { | |||
| 1268 | #define V4L2_CTRL_ID_MASK (0x0fffffff) | 1304 | #define V4L2_CTRL_ID_MASK (0x0fffffff) |
| 1269 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) | 1305 | #define V4L2_CTRL_ID2CLASS(id) ((id) & 0x0fff0000UL) |
| 1270 | #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) | 1306 | #define V4L2_CTRL_DRIVER_PRIV(id) (((id) & 0xffff) >= 0x1000) |
| 1307 | #define V4L2_CTRL_MAX_DIMS (4) | ||
| 1271 | 1308 | ||
| 1272 | enum v4l2_ctrl_type { | 1309 | enum v4l2_ctrl_type { |
| 1273 | V4L2_CTRL_TYPE_INTEGER = 1, | 1310 | V4L2_CTRL_TYPE_INTEGER = 1, |
| @@ -1278,7 +1315,13 @@ enum v4l2_ctrl_type { | |||
| 1278 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, | 1315 | V4L2_CTRL_TYPE_CTRL_CLASS = 6, |
| 1279 | V4L2_CTRL_TYPE_STRING = 7, | 1316 | V4L2_CTRL_TYPE_STRING = 7, |
| 1280 | V4L2_CTRL_TYPE_BITMASK = 8, | 1317 | V4L2_CTRL_TYPE_BITMASK = 8, |
| 1281 | V4L2_CTRL_TYPE_INTEGER_MENU = 9, | 1318 | V4L2_CTRL_TYPE_INTEGER_MENU = 9, |
| 1319 | |||
| 1320 | /* Compound types are >= 0x0100 */ | ||
| 1321 | V4L2_CTRL_COMPOUND_TYPES = 0x0100, | ||
| 1322 | V4L2_CTRL_TYPE_U8 = 0x0100, | ||
| 1323 | V4L2_CTRL_TYPE_U16 = 0x0101, | ||
| 1324 | V4L2_CTRL_TYPE_U32 = 0x0102, | ||
| 1282 | }; | 1325 | }; |
| 1283 | 1326 | ||
| 1284 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ | 1327 | /* Used in the VIDIOC_QUERYCTRL ioctl for querying controls */ |
| @@ -1294,6 +1337,23 @@ struct v4l2_queryctrl { | |||
| 1294 | __u32 reserved[2]; | 1337 | __u32 reserved[2]; |
| 1295 | }; | 1338 | }; |
| 1296 | 1339 | ||
| 1340 | /* Used in the VIDIOC_QUERY_EXT_CTRL ioctl for querying extended controls */ | ||
| 1341 | struct v4l2_query_ext_ctrl { | ||
| 1342 | __u32 id; | ||
| 1343 | __u32 type; | ||
| 1344 | char name[32]; | ||
| 1345 | __s64 minimum; | ||
| 1346 | __s64 maximum; | ||
| 1347 | __u64 step; | ||
| 1348 | __s64 default_value; | ||
| 1349 | __u32 flags; | ||
| 1350 | __u32 elem_size; | ||
| 1351 | __u32 elems; | ||
| 1352 | __u32 nr_of_dims; | ||
| 1353 | __u32 dims[V4L2_CTRL_MAX_DIMS]; | ||
| 1354 | __u32 reserved[32]; | ||
| 1355 | }; | ||
| 1356 | |||
| 1297 | /* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */ | 1357 | /* Used in the VIDIOC_QUERYMENU ioctl for querying menu items */ |
| 1298 | struct v4l2_querymenu { | 1358 | struct v4l2_querymenu { |
| 1299 | __u32 id; | 1359 | __u32 id; |
| @@ -1314,9 +1374,11 @@ struct v4l2_querymenu { | |||
| 1314 | #define V4L2_CTRL_FLAG_SLIDER 0x0020 | 1374 | #define V4L2_CTRL_FLAG_SLIDER 0x0020 |
| 1315 | #define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 | 1375 | #define V4L2_CTRL_FLAG_WRITE_ONLY 0x0040 |
| 1316 | #define V4L2_CTRL_FLAG_VOLATILE 0x0080 | 1376 | #define V4L2_CTRL_FLAG_VOLATILE 0x0080 |
| 1377 | #define V4L2_CTRL_FLAG_HAS_PAYLOAD 0x0100 | ||
| 1317 | 1378 | ||
| 1318 | /* Query flag, to be ORed with the control ID */ | 1379 | /* Query flags, to be ORed with the control ID */ |
| 1319 | #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 | 1380 | #define V4L2_CTRL_FLAG_NEXT_CTRL 0x80000000 |
| 1381 | #define V4L2_CTRL_FLAG_NEXT_COMPOUND 0x40000000 | ||
| 1320 | 1382 | ||
| 1321 | /* User-class control IDs defined by V4L2 */ | 1383 | /* User-class control IDs defined by V4L2 */ |
| 1322 | #define V4L2_CID_MAX_CTRLS 1024 | 1384 | #define V4L2_CID_MAX_CTRLS 1024 |
| @@ -1582,6 +1644,12 @@ struct v4l2_vbi_format { | |||
| 1582 | #define V4L2_VBI_UNSYNC (1 << 0) | 1644 | #define V4L2_VBI_UNSYNC (1 << 0) |
| 1583 | #define V4L2_VBI_INTERLACED (1 << 1) | 1645 | #define V4L2_VBI_INTERLACED (1 << 1) |
| 1584 | 1646 | ||
| 1647 | /* ITU-R start lines for each field */ | ||
| 1648 | #define V4L2_VBI_ITU_525_F1_START (1) | ||
| 1649 | #define V4L2_VBI_ITU_525_F2_START (264) | ||
| 1650 | #define V4L2_VBI_ITU_625_F1_START (1) | ||
| 1651 | #define V4L2_VBI_ITU_625_F2_START (314) | ||
| 1652 | |||
| 1585 | /* Sliced VBI | 1653 | /* Sliced VBI |
| 1586 | * | 1654 | * |
| 1587 | * This implements is a proposal V4L2 API to allow SLICED VBI | 1655 | * This implements is a proposal V4L2 API to allow SLICED VBI |
| @@ -1705,6 +1773,7 @@ struct v4l2_plane_pix_format { | |||
| 1705 | * @colorspace: enum v4l2_colorspace; supplemental to pixelformat | 1773 | * @colorspace: enum v4l2_colorspace; supplemental to pixelformat |
| 1706 | * @plane_fmt: per-plane information | 1774 | * @plane_fmt: per-plane information |
| 1707 | * @num_planes: number of planes for this format | 1775 | * @num_planes: number of planes for this format |
| 1776 | * @flags: format flags (V4L2_PIX_FMT_FLAG_*) | ||
| 1708 | */ | 1777 | */ |
| 1709 | struct v4l2_pix_format_mplane { | 1778 | struct v4l2_pix_format_mplane { |
| 1710 | __u32 width; | 1779 | __u32 width; |
| @@ -1715,16 +1784,19 @@ struct v4l2_pix_format_mplane { | |||
| 1715 | 1784 | ||
| 1716 | struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; | 1785 | struct v4l2_plane_pix_format plane_fmt[VIDEO_MAX_PLANES]; |
| 1717 | __u8 num_planes; | 1786 | __u8 num_planes; |
| 1718 | __u8 reserved[11]; | 1787 | __u8 flags; |
| 1788 | __u8 reserved[10]; | ||
| 1719 | } __attribute__ ((packed)); | 1789 | } __attribute__ ((packed)); |
| 1720 | 1790 | ||
| 1721 | /** | 1791 | /** |
| 1722 | * struct v4l2_sdr_format - SDR format definition | 1792 | * struct v4l2_sdr_format - SDR format definition |
| 1723 | * @pixelformat: little endian four character code (fourcc) | 1793 | * @pixelformat: little endian four character code (fourcc) |
| 1794 | * @buffersize: maximum size in bytes required for data | ||
| 1724 | */ | 1795 | */ |
| 1725 | struct v4l2_sdr_format { | 1796 | struct v4l2_sdr_format { |
| 1726 | __u32 pixelformat; | 1797 | __u32 pixelformat; |
| 1727 | __u8 reserved[28]; | 1798 | __u32 buffersize; |
| 1799 | __u8 reserved[24]; | ||
| 1728 | } __attribute__ ((packed)); | 1800 | } __attribute__ ((packed)); |
| 1729 | 1801 | ||
| 1730 | /** | 1802 | /** |
| @@ -1771,6 +1843,7 @@ struct v4l2_streamparm { | |||
| 1771 | #define V4L2_EVENT_CTRL 3 | 1843 | #define V4L2_EVENT_CTRL 3 |
| 1772 | #define V4L2_EVENT_FRAME_SYNC 4 | 1844 | #define V4L2_EVENT_FRAME_SYNC 4 |
| 1773 | #define V4L2_EVENT_SOURCE_CHANGE 5 | 1845 | #define V4L2_EVENT_SOURCE_CHANGE 5 |
| 1846 | #define V4L2_EVENT_MOTION_DET 6 | ||
| 1774 | #define V4L2_EVENT_PRIVATE_START 0x08000000 | 1847 | #define V4L2_EVENT_PRIVATE_START 0x08000000 |
| 1775 | 1848 | ||
| 1776 | /* Payload for V4L2_EVENT_VSYNC */ | 1849 | /* Payload for V4L2_EVENT_VSYNC */ |
| @@ -1808,6 +1881,21 @@ struct v4l2_event_src_change { | |||
| 1808 | __u32 changes; | 1881 | __u32 changes; |
| 1809 | }; | 1882 | }; |
| 1810 | 1883 | ||
| 1884 | #define V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ (1 << 0) | ||
| 1885 | |||
| 1886 | /** | ||
| 1887 | * struct v4l2_event_motion_det - motion detection event | ||
| 1888 | * @flags: if V4L2_EVENT_MD_FL_HAVE_FRAME_SEQ is set, then the | ||
| 1889 | * frame_sequence field is valid. | ||
| 1890 | * @frame_sequence: the frame sequence number associated with this event. | ||
| 1891 | * @region_mask: which regions detected motion. | ||
| 1892 | */ | ||
| 1893 | struct v4l2_event_motion_det { | ||
| 1894 | __u32 flags; | ||
| 1895 | __u32 frame_sequence; | ||
| 1896 | __u32 region_mask; | ||
| 1897 | }; | ||
| 1898 | |||
| 1811 | struct v4l2_event { | 1899 | struct v4l2_event { |
| 1812 | __u32 type; | 1900 | __u32 type; |
| 1813 | union { | 1901 | union { |
| @@ -1815,6 +1903,7 @@ struct v4l2_event { | |||
| 1815 | struct v4l2_event_ctrl ctrl; | 1903 | struct v4l2_event_ctrl ctrl; |
| 1816 | struct v4l2_event_frame_sync frame_sync; | 1904 | struct v4l2_event_frame_sync frame_sync; |
| 1817 | struct v4l2_event_src_change src_change; | 1905 | struct v4l2_event_src_change src_change; |
| 1906 | struct v4l2_event_motion_det motion_det; | ||
| 1818 | __u8 data[64]; | 1907 | __u8 data[64]; |
| 1819 | } u; | 1908 | } u; |
| 1820 | __u32 pending; | 1909 | __u32 pending; |
| @@ -2005,6 +2094,8 @@ struct v4l2_create_buffers { | |||
| 2005 | Never use these in applications! */ | 2094 | Never use these in applications! */ |
| 2006 | #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) | 2095 | #define VIDIOC_DBG_G_CHIP_INFO _IOWR('V', 102, struct v4l2_dbg_chip_info) |
| 2007 | 2096 | ||
| 2097 | #define VIDIOC_QUERY_EXT_CTRL _IOWR('V', 103, struct v4l2_query_ext_ctrl) | ||
| 2098 | |||
| 2008 | /* Reminder: when adding new ioctls please add support for them to | 2099 | /* Reminder: when adding new ioctls please add support for them to |
| 2009 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ | 2100 | drivers/media/video/v4l2-compat-ioctl32.c as well! */ |
| 2010 | 2101 | ||
diff --git a/include/uapi/linux/virtio_blk.h b/include/uapi/linux/virtio_blk.h index 6d8e61c48563..9ad67b267584 100644 --- a/include/uapi/linux/virtio_blk.h +++ b/include/uapi/linux/virtio_blk.h | |||
| @@ -40,6 +40,7 @@ | |||
| 40 | #define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */ | 40 | #define VIRTIO_BLK_F_WCE 9 /* Writeback mode enabled after reset */ |
| 41 | #define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */ | 41 | #define VIRTIO_BLK_F_TOPOLOGY 10 /* Topology information is available */ |
| 42 | #define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */ | 42 | #define VIRTIO_BLK_F_CONFIG_WCE 11 /* Writeback mode available in config */ |
| 43 | #define VIRTIO_BLK_F_MQ 12 /* support more than one vq */ | ||
| 43 | 44 | ||
| 44 | #ifndef __KERNEL__ | 45 | #ifndef __KERNEL__ |
| 45 | /* Old (deprecated) name for VIRTIO_BLK_F_WCE. */ | 46 | /* Old (deprecated) name for VIRTIO_BLK_F_WCE. */ |
| @@ -77,6 +78,10 @@ struct virtio_blk_config { | |||
| 77 | 78 | ||
| 78 | /* writeback mode (if VIRTIO_BLK_F_CONFIG_WCE) */ | 79 | /* writeback mode (if VIRTIO_BLK_F_CONFIG_WCE) */ |
| 79 | __u8 wce; | 80 | __u8 wce; |
| 81 | __u8 unused; | ||
| 82 | |||
| 83 | /* number of vqs, only available when VIRTIO_BLK_F_MQ is set */ | ||
| 84 | __u16 num_queues; | ||
| 80 | } __attribute__((packed)); | 85 | } __attribute__((packed)); |
| 81 | 86 | ||
| 82 | /* | 87 | /* |
diff --git a/include/uapi/linux/xattr.h b/include/uapi/linux/xattr.h index c38355c1f3c9..1590c49cae57 100644 --- a/include/uapi/linux/xattr.h +++ b/include/uapi/linux/xattr.h | |||
| @@ -13,7 +13,7 @@ | |||
| 13 | #ifndef _UAPI_LINUX_XATTR_H | 13 | #ifndef _UAPI_LINUX_XATTR_H |
| 14 | #define _UAPI_LINUX_XATTR_H | 14 | #define _UAPI_LINUX_XATTR_H |
| 15 | 15 | ||
| 16 | #ifdef __UAPI_DEF_XATTR | 16 | #if __UAPI_DEF_XATTR |
| 17 | #define __USE_KERNEL_XATTR_DEFS | 17 | #define __USE_KERNEL_XATTR_DEFS |
| 18 | 18 | ||
| 19 | #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ | 19 | #define XATTR_CREATE 0x1 /* set value, fail if attr already exists */ |
