History

Merge tag 'v3.16-rc6' into next

Merge with mainline to bring in changes to MFD to allow merging ipaq-micro-ts driver.

Dmitry Torokhov committed 12 years ago

Commit b9f12a52 parents 9d8dc3e 9a3c4149812 files · +498089 −250090Browse files

Showing the changes to include/uapi/linux (45 of 9812 files). Show all

Unified · Split

45 files
  1. include/uapi/linux/Kbuild +1 −0
  2. include/uapi/linux/audit.h +20 −0
  3. include/uapi/linux/btrfs.h +18 −2
  4. include/uapi/linux/can.h +3 −3
  5. include/uapi/linux/can/bcm.h +3 −3
  6. include/uapi/linux/can/error.h +3 −3
  7. include/uapi/linux/can/gw.h +3 −3
  8. include/uapi/linux/can/netlink.h +3 −3
  9. include/uapi/linux/can/raw.h +3 −3
  10. include/uapi/linux/capability.h +6 −1
  11. include/uapi/linux/ethtool.h +35 −0
  12. include/uapi/linux/filter.h +2 −1
  13. include/uapi/linux/gfs2_ondisk.h +1 −1
  14. include/uapi/linux/if_fddi.h +46 −44
  15. include/uapi/linux/if_link.h +11 −1
  16. include/uapi/linux/if_tunnel.h +1 −1
  17. include/uapi/linux/input.h +16 −1
  18. include/uapi/linux/kvm.h +16 −1
  19. include/uapi/linux/kvm_para.h +3 −0
  20. include/uapi/linux/l2tp.h +2 −0
  21. include/uapi/linux/neighbour.h +1 −0
  22. include/uapi/linux/netfilter/nf_tables.h +37 −0
  23. include/uapi/linux/netfilter/nfnetlink.h +2 −0
  24. include/uapi/linux/netfilter/nfnetlink_acct.h +9 −0
  25. include/uapi/linux/nfc.h +12 −4
  26. include/uapi/linux/nfsd/nfsfh.h +7 −25
  27. include/uapi/linux/nl80211.h +66 −5
  28. include/uapi/linux/nvme.h +39 −11
  29. include/uapi/linux/openvswitch.h +3 −1
  30. include/uapi/linux/perf_event.h +14 −7
  31. include/uapi/linux/psci.h +90 −0
  32. include/uapi/linux/serial_core.h +7 −1
  33. include/uapi/linux/serial_reg.h +1 −1
  34. include/uapi/linux/shm.h +9 −8
  35. include/uapi/linux/tipc.h +23 −0
  36. include/uapi/linux/tipc_config.h +1 −9
  37. include/uapi/linux/udp.h +2 −0
  38. include/uapi/linux/usb/Kbuild +1 −0
  39. include/uapi/linux/usb/cdc-wdm.h +2 −0
  40. include/uapi/linux/usb/functionfs.h +7 −0
  41. include/uapi/linux/v4l2-common.h +1 −1
  42. include/uapi/linux/v4l2-dv-timings.h +70 −0
  43. include/uapi/linux/v4l2-mediabus.h +13 −1
  44. include/uapi/linux/v4l2-subdev.h +19 −21
  45. 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/audit.h+20−0
@@ -331,9 +331,17 @@ enum { · 330 unmodified lines
331331 #define AUDIT_FAIL_PRINTK 1
332332 #define AUDIT_FAIL_PANIC 2
333333
334+/*
335+ * These bits disambiguate different calling conventions that share an
336+ * ELF machine type, bitness, and endianness
337+ */
338+#define __AUDIT_ARCH_CONVENTION_MASK 0x30000000
339+#define __AUDIT_ARCH_CONVENTION_MIPS64_N32 0x20000000
340+
334341 /* distinguish syscall tables */
335342 #define __AUDIT_ARCH_64BIT 0x80000000
336343 #define __AUDIT_ARCH_LE 0x40000000
344+
337345 #define AUDIT_ARCH_ALPHA (EM_ALPHA|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
338346 #define AUDIT_ARCH_ARM (EM_ARM|__AUDIT_ARCH_LE)
339347 #define AUDIT_ARCH_ARMEB (EM_ARM)
@@ -346,7 +354,11 @@ enum { · 6 unmodified lines
346354 #define AUDIT_ARCH_MIPS (EM_MIPS)
347355 #define AUDIT_ARCH_MIPSEL (EM_MIPS|__AUDIT_ARCH_LE)
348356 #define AUDIT_ARCH_MIPS64 (EM_MIPS|__AUDIT_ARCH_64BIT)
357+#define AUDIT_ARCH_MIPS64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|\
358+ __AUDIT_ARCH_CONVENTION_MIPS64_N32)
349359 #define AUDIT_ARCH_MIPSEL64 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE)
360+#define AUDIT_ARCH_MIPSEL64N32 (EM_MIPS|__AUDIT_ARCH_64BIT|__AUDIT_ARCH_LE|\
361+ __AUDIT_ARCH_CONVENTION_MIPS64_N32)
350362 #define AUDIT_ARCH_OPENRISC (EM_OPENRISC)
351363 #define AUDIT_ARCH_PARISC (EM_PARISC)
352364 #define AUDIT_ARCH_PARISC64 (EM_PARISC|__AUDIT_ARCH_64BIT)
@@ -373,6 +385,14 @@ enum { · 20 unmodified lines
373385 */
374386 #define AUDIT_MESSAGE_TEXT_MAX 8560
375387
388+/* Multicast Netlink socket groups (default up to 32) */
389+enum audit_nlgrps {
390+ AUDIT_NLGRP_NONE, /* Group 0 not used */
391+ AUDIT_NLGRP_READLOG, /* "best effort" read only socket */
392+ __AUDIT_NLGRP_MAX
393+};
394+#define AUDIT_NLGRP_MAX (__AUDIT_NLGRP_MAX - 1)
395+
376396 struct audit_status {
377397 __u32 mask; /* Bit mask for valid entries */
378398 __u32 enabled; /* 1 = enabled, 0 = disabled */
include/uapi/linux/btrfs.h+18−2
@@ -38,6 +38,7 @@ struct btrfs_ioctl_vol_args { · 37 unmodified lines
3838 #define BTRFS_SUBVOL_QGROUP_INHERIT (1ULL << 2)
3939 #define BTRFS_FSID_SIZE 16
4040 #define BTRFS_UUID_SIZE 16
41+#define BTRFS_UUID_UNPARSED_SIZE 37
4142
4243 #define BTRFS_QGROUP_INHERIT_SET_LIMITS (1ULL << 0)
4344
@@ -181,7 +182,11 @@ struct btrfs_ioctl_fs_info_args { · 137 unmodified lines
181182 __u64 max_id; /* out */
182183 __u64 num_devices; /* out */
183184 __u8 fsid[BTRFS_FSID_SIZE]; /* out */
184− __u64 reserved[124]; /* pad to 1k */
185+ __u32 nodesize; /* out */
186+ __u32 sectorsize; /* out */
187+ __u32 clone_alignment; /* out */
188+ __u32 reserved32;
189+ __u64 reserved[122]; /* pad to 1k */
185190 };
186191
187192 struct btrfs_ioctl_feature_flags {
@@ -211,7 +216,8 @@ struct btrfs_balance_args { · 23 unmodified lines
211216
212217 __u64 flags;
213218
214− __u64 unused[8];
219+ __u64 limit; /* limit number of processed chunks */
220+ __u64 unused[7];
215221 } __attribute__ ((__packed__));
216222
217223 /* report balance progress to userspace */
@@ -301,6 +307,14 @@ struct btrfs_ioctl_search_args { · 83 unmodified lines
301307 char buf[BTRFS_SEARCH_ARGS_BUFSIZE];
302308 };
303309
310+struct btrfs_ioctl_search_args_v2 {
311+ struct btrfs_ioctl_search_key key; /* in/out - search parameters */
312+ __u64 buf_size; /* in - size of buffer
313+ * out - on EOVERFLOW: needed size
314+ * to store item */
315+ __u64 buf[0]; /* out - found items */
316+};
317+
304318 struct btrfs_ioctl_clone_range_args {
305319 __s64 src_fd;
306320 __u64 src_offset, src_length;
@@ -553,6 +567,8 @@ static inline char *btrfs_err_str(enum btrfs_err_code err_code) · 246 unmodified lines
553567 struct btrfs_ioctl_defrag_range_args)
554568 #define BTRFS_IOC_TREE_SEARCH _IOWR(BTRFS_IOCTL_MAGIC, 17, \
555569 struct btrfs_ioctl_search_args)
570+#define BTRFS_IOC_TREE_SEARCH_V2 _IOWR(BTRFS_IOCTL_MAGIC, 17, \
571+ struct btrfs_ioctl_search_args_v2)
556572 #define BTRFS_IOC_INO_LOOKUP _IOWR(BTRFS_IOCTL_MAGIC, 18, \
557573 struct btrfs_ioctl_ino_lookup_args)
558574 #define BTRFS_IOC_DEFAULT_SUBVOL _IOW(BTRFS_IOCTL_MAGIC, 19, __u64)
include/uapi/linux/can.h+3−3
@@ -42,8 +42,8 @@ · 41 unmodified lines
4242 * DAMAGE.
4343 */
4444
45−#ifndef CAN_H
46−#define CAN_H
45+#ifndef _UAPI_CAN_H
46+#define _UAPI_CAN_H
4747
4848 #include <linux/types.h>
4949 #include <linux/socket.h>
@@ -191,4 +191,4 @@ struct can_filter { · 141 unmodified lines
191191
192192 #define CAN_INV_FILTER 0x20000000U /* to be set in can_filter.can_id */
193193
194−#endif /* CAN_H */
194+#endif /* !_UAPI_CAN_H */
include/uapi/linux/can/bcm.h+3−3
@@ -41,8 +41,8 @@ · 40 unmodified lines
4141 * DAMAGE.
4242 */
4343
44−#ifndef CAN_BCM_H
45−#define CAN_BCM_H
44+#ifndef _UAPI_CAN_BCM_H
45+#define _UAPI_CAN_BCM_H
4646
4747 #include <linux/types.h>
4848 #include <linux/can.h>
@@ -95,4 +95,4 @@ enum { · 46 unmodified lines
9595 #define TX_RESET_MULTI_IDX 0x0200
9696 #define RX_RTR_FRAME 0x0400
9797
98−#endif /* CAN_BCM_H */
98+#endif /* !_UAPI_CAN_BCM_H */
include/uapi/linux/can/error.h+3−3
@@ -41,8 +41,8 @@ · 40 unmodified lines
4141 * DAMAGE.
4242 */
4343
44−#ifndef CAN_ERROR_H
45−#define CAN_ERROR_H
44+#ifndef _UAPI_CAN_ERROR_H
45+#define _UAPI_CAN_ERROR_H
4646
4747 #define CAN_ERR_DLC 8 /* dlc for error message frames */
4848
@@ -120,4 +120,4 @@ · 71 unmodified lines
120120
121121 /* controller specific additional information / data[5..7] */
122122
123−#endif /* CAN_ERROR_H */
123+#endif /* _UAPI_CAN_ERROR_H */
include/uapi/linux/can/gw.h+3−3
@@ -41,8 +41,8 @@ · 40 unmodified lines
4141 * DAMAGE.
4242 */
4343
44−#ifndef CAN_GW_H
45−#define CAN_GW_H
44+#ifndef _UAPI_CAN_GW_H
45+#define _UAPI_CAN_GW_H
4646
4747 #include <linux/types.h>
4848 #include <linux/can.h>
@@ -200,4 +200,4 @@ enum { · 151 unmodified lines
200200 * Beware of sending unpacked or aligned structs!
201201 */
202202
203−#endif
203+#endif /* !_UAPI_CAN_GW_H */
include/uapi/linux/can/netlink.h+3−3
@@ -15,8 +15,8 @@ · 14 unmodified lines
1515 * GNU General Public License for more details.
1616 */
1717
18−#ifndef CAN_NETLINK_H
19−#define CAN_NETLINK_H
18+#ifndef _UAPI_CAN_NETLINK_H
19+#define _UAPI_CAN_NETLINK_H
2020
2121 #include <linux/types.h>
2222
@@ -130,4 +130,4 @@ enum { · 107 unmodified lines
130130
131131 #define IFLA_CAN_MAX (__IFLA_CAN_MAX - 1)
132132
133−#endif /* CAN_NETLINK_H */
133+#endif /* !_UAPI_CAN_NETLINK_H */
include/uapi/linux/can/raw.h+3−3
@@ -42,8 +42,8 @@ · 41 unmodified lines
4242 * DAMAGE.
4343 */
4444
45−#ifndef CAN_RAW_H
46−#define CAN_RAW_H
45+#ifndef _UAPI_CAN_RAW_H
46+#define _UAPI_CAN_RAW_H
4747
4848 #include <linux/can.h>
4949
@@ -59,4 +59,4 @@ enum { · 9 unmodified lines
5959 CAN_RAW_FD_FRAMES, /* allow CAN FD frames (default:off) */
6060 };
6161
62−#endif
62+#endif /* !_UAPI_CAN_RAW_H */
include/uapi/linux/capability.h+6−1
@@ -347,7 +347,12 @@ struct vfs_cap_data { · 346 unmodified lines
347347
348348 #define CAP_BLOCK_SUSPEND 36
349349
350−#define CAP_LAST_CAP CAP_BLOCK_SUSPEND
350+/* Allow reading the audit log via multicast netlink socket */
351+
352+#define CAP_AUDIT_READ 37
353+
354+
355+#define CAP_LAST_CAP CAP_AUDIT_READ
351356
352357 #define cap_valid(x) ((x) >= 0 && (x) <= CAP_LAST_CAP)
353358
include/uapi/linux/ethtool.h+35−0
@@ -846,6 +846,38 @@ struct ethtool_rxfh_indir { · 845 unmodified lines
846846 __u32 ring_index[0];
847847 };
848848
849+/**
850+ * struct ethtool_rxfh - command to get/set RX flow hash indir or/and hash key.
851+ * @cmd: Specific command number - %ETHTOOL_GRSSH or %ETHTOOL_SRSSH
852+ * @rss_context: RSS context identifier.
853+ * @indir_size: On entry, the array size of the user buffer for the
854+ * indirection table, which may be zero, or (for %ETHTOOL_SRSSH),
855+ * %ETH_RXFH_INDIR_NO_CHANGE. On return from %ETHTOOL_GRSSH,
856+ * the array size of the hardware indirection table.
857+ * @key_size: On entry, the array size of the user buffer for the hash key,
858+ * which may be zero. On return from %ETHTOOL_GRSSH, the size of the
859+ * hardware hash key.
860+ * @rsvd: Reserved for future extensions.
861+ * @rss_config: RX ring/queue index for each hash value i.e., indirection table
862+ * of @indir_size __u32 elements, followed by hash key of @key_size
863+ * bytes.
864+ *
865+ * For %ETHTOOL_GRSSH, a @indir_size and key_size of zero means that only the
866+ * size should be returned. For %ETHTOOL_SRSSH, an @indir_size of
867+ * %ETH_RXFH_INDIR_NO_CHANGE means that indir table setting is not requested
868+ * and a @indir_size of zero means the indir table should be reset to default
869+ * values.
870+ */
871+struct ethtool_rxfh {
872+ __u32 cmd;
873+ __u32 rss_context;
874+ __u32 indir_size;
875+ __u32 key_size;
876+ __u32 rsvd[2];
877+ __u32 rss_config[0];
878+};
879+#define ETH_RXFH_INDIR_NO_CHANGE 0xffffffff
880+
849881 /**
850882 * struct ethtool_rx_ntuple_flow_spec - specification for RX flow filter
851883 * @flow_type: Type of match to perform, e.g. %TCP_V4_FLOW
@@ -1118,6 +1150,9 @@ enum ethtool_sfeatures_retval_bits { · 266 unmodified lines
11181150 #define ETHTOOL_GEEE 0x00000044 /* Get EEE settings */
11191151 #define ETHTOOL_SEEE 0x00000045 /* Set EEE settings */
11201152
1153+#define ETHTOOL_GRSSH 0x00000046 /* Get RX flow hash configuration */
1154+#define ETHTOOL_SRSSH 0x00000047 /* Set RX flow hash configuration */
1155+
11211156 /* compatibility with older code */
11221157 #define SPARC_ETH_GSET ETHTOOL_GSET
11231158 #define SPARC_ETH_SSET ETHTOOL_SSET
include/uapi/linux/filter.h+2−1
@@ -130,7 +130,8 @@ struct sock_fprog { /* Required for SO_ATTACH_FILTER. */ · 129 unmodified lines
130130 #define SKF_AD_VLAN_TAG 44
131131 #define SKF_AD_VLAN_TAG_PRESENT 48
132132 #define SKF_AD_PAY_OFFSET 52
133−#define SKF_AD_MAX 56
133+#define SKF_AD_RANDOM 56
134+#define SKF_AD_MAX 60
134135 #define SKF_NET_OFF (-0x100000)
135136 #define SKF_LL_OFF (-0x200000)
136137
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/if_fddi.h+46−44
@@ -30,74 +30,76 @@ · 29 unmodified lines
3030 * Define max and min legal sizes. The frame sizes do not include
3131 * 4 byte FCS/CRC (frame check sequence).
3232 */
33−#define FDDI_K_ALEN 6 /* Octets in one FDDI address */
34−#define FDDI_K_8022_HLEN 16 /* Total octets in 802.2 header */
35−#define FDDI_K_SNAP_HLEN 21 /* Total octets in 802.2 SNAP header */
36−#define FDDI_K_8022_ZLEN 16 /* Min octets in 802.2 frame sans FCS */
37−#define FDDI_K_SNAP_ZLEN 21 /* Min octets in 802.2 SNAP frame sans FCS */
33+#define FDDI_K_ALEN 6 /* Octets in one FDDI address */
34+#define FDDI_K_8022_HLEN 16 /* Total octets in 802.2 header */
35+#define FDDI_K_SNAP_HLEN 21 /* Total octets in 802.2 SNAP header */
36+#define FDDI_K_8022_ZLEN 16 /* Min octets in 802.2 frame sans
37+ FCS */
38+#define FDDI_K_SNAP_ZLEN 21 /* Min octets in 802.2 SNAP frame sans
39+ FCS */
3840 #define FDDI_K_8022_DLEN 4475 /* Max octets in 802.2 payload */
3941 #define FDDI_K_SNAP_DLEN 4470 /* Max octets in 802.2 SNAP payload */
40−#define FDDI_K_LLC_ZLEN 13 /* Min octets in LLC frame sans FCS */
42+#define FDDI_K_LLC_ZLEN 13 /* Min octets in LLC frame sans FCS */
4143 #define FDDI_K_LLC_LEN 4491 /* Max octets in LLC frame sans FCS */
44+#define FDDI_K_OUI_LEN 3 /* Octets in OUI in 802.2 SNAP
45+ header */
4246
4347 /* Define FDDI Frame Control (FC) Byte values */
44−#define FDDI_FC_K_VOID 0x00
45−#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
46−#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
47−#define FDDI_FC_K_SMT_MIN 0x41
48−#define FDDI_FC_K_SMT_MAX 0x4F
49−#define FDDI_FC_K_MAC_MIN 0xC1
50−#define FDDI_FC_K_MAC_MAX 0xCF
51−#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
52−#define FDDI_FC_K_ASYNC_LLC_DEF 0x54
53−#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
54−#define FDDI_FC_K_SYNC_LLC_MIN 0xD0
55−#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
56−#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
57−#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
58−#define FDDI_FC_K_RESERVED_MIN 0x70
59−#define FDDI_FC_K_RESERVED_MAX 0x7F
48+#define FDDI_FC_K_VOID 0x00
49+#define FDDI_FC_K_NON_RESTRICTED_TOKEN 0x80
50+#define FDDI_FC_K_RESTRICTED_TOKEN 0xC0
51+#define FDDI_FC_K_SMT_MIN 0x41
52+#define FDDI_FC_K_SMT_MAX 0x4F
53+#define FDDI_FC_K_MAC_MIN 0xC1
54+#define FDDI_FC_K_MAC_MAX 0xCF
55+#define FDDI_FC_K_ASYNC_LLC_MIN 0x50
56+#define FDDI_FC_K_ASYNC_LLC_DEF 0x54
57+#define FDDI_FC_K_ASYNC_LLC_MAX 0x5F
58+#define FDDI_FC_K_SYNC_LLC_MIN 0xD0
59+#define FDDI_FC_K_SYNC_LLC_MAX 0xD7
60+#define FDDI_FC_K_IMPLEMENTOR_MIN 0x60
61+#define FDDI_FC_K_IMPLEMENTOR_MAX 0x6F
62+#define FDDI_FC_K_RESERVED_MIN 0x70
63+#define FDDI_FC_K_RESERVED_MAX 0x7F
6064
6165 /* Define LLC and SNAP constants */
62−#define FDDI_EXTENDED_SAP 0xAA
66+#define FDDI_EXTENDED_SAP 0xAA
6367 #define FDDI_UI_CMD 0x03
6468
6569 /* Define 802.2 Type 1 header */
6670 struct fddi_8022_1_hdr {
67− __u8 dsap; /* destination service access point */
68− __u8 ssap; /* source service access point */
69− __u8 ctrl; /* control byte #1 */
71+ __u8 dsap; /* destination service access point */
72+ __u8 ssap; /* source service access point */
73+ __u8 ctrl; /* control byte #1 */
7074 } __attribute__((packed));
7175
7276 /* Define 802.2 Type 2 header */
7377 struct fddi_8022_2_hdr {
74− __u8 dsap; /* destination service access point */
75− __u8 ssap; /* source service access point */
76− __u8 ctrl_1; /* control byte #1 */
77− __u8 ctrl_2; /* control byte #2 */
78+ __u8 dsap; /* destination service access point */
79+ __u8 ssap; /* source service access point */
80+ __u8 ctrl_1; /* control byte #1 */
81+ __u8 ctrl_2; /* control byte #2 */
7882 } __attribute__((packed));
7983
8084 /* Define 802.2 SNAP header */
81−#define FDDI_K_OUI_LEN 3
8285 struct fddi_snap_hdr {
83− __u8 dsap; /* always 0xAA */
84− __u8 ssap; /* always 0xAA */
85− __u8 ctrl; /* always 0x03 */
86+ __u8 dsap; /* always 0xAA */
87+ __u8 ssap; /* always 0xAA */
88+ __u8 ctrl; /* always 0x03 */
8689 __u8 oui[FDDI_K_OUI_LEN]; /* organizational universal id */
87− __be16 ethertype; /* packet type ID field */
90+ __be16 ethertype; /* packet type ID field */
8891 } __attribute__((packed));
8992
9093 /* Define FDDI LLC frame header */
9194 struct fddihdr {
92− __u8 fc; /* frame control */
93− __u8 daddr[FDDI_K_ALEN]; /* destination address */
94− __u8 saddr[FDDI_K_ALEN]; /* source address */
95− union
96− {
97− struct fddi_8022_1_hdr llc_8022_1;
98− struct fddi_8022_2_hdr llc_8022_2;
99− struct fddi_snap_hdr llc_snap;
100− } hdr;
95+ __u8 fc; /* frame control */
96+ __u8 daddr[FDDI_K_ALEN]; /* destination address */
97+ __u8 saddr[FDDI_K_ALEN]; /* source address */
98+ union {
99+ struct fddi_8022_1_hdr llc_8022_1;
100+ struct fddi_8022_2_hdr llc_8022_2;
101+ struct fddi_snap_hdr llc_snap;
102+ } hdr;
101103 } __attribute__((packed));
102104
103105
include/uapi/linux/if_link.h+11−1
@@ -319,6 +319,9 @@ enum { · 318 unmodified lines
319319 IFLA_VXLAN_PORT, /* destination port */
320320 IFLA_VXLAN_GROUP6,
321321 IFLA_VXLAN_LOCAL6,
322+ IFLA_VXLAN_UDP_CSUM,
323+ IFLA_VXLAN_UDP_ZERO_CSUM6_TX,
324+ IFLA_VXLAN_UDP_ZERO_CSUM6_RX,
322325 __IFLA_VXLAN_MAX
323326 };
324327 #define IFLA_VXLAN_MAX (__IFLA_VXLAN_MAX - 1)
@@ -399,9 +402,10 @@ enum { · 74 unmodified lines
399402 IFLA_VF_UNSPEC,
400403 IFLA_VF_MAC, /* Hardware queue specific attributes */
401404 IFLA_VF_VLAN,
402− IFLA_VF_TX_RATE, /* TX Bandwidth Allocation */
405+ IFLA_VF_TX_RATE, /* Max TX Bandwidth Allocation */
403406 IFLA_VF_SPOOFCHK, /* Spoof Checking on/off switch */
404407 IFLA_VF_LINK_STATE, /* link state enable/disable/auto switch */
408+ IFLA_VF_RATE, /* Min and Max TX Bandwidth Allocation */
405409 __IFLA_VF_MAX,
406410 };
407411
@@ -423,6 +427,12 @@ struct ifla_vf_tx_rate { · 15 unmodified lines
423427 __u32 rate; /* Max TX bandwidth in Mbps, 0 disables throttling */
424428 };
425429
430+struct ifla_vf_rate {
431+ __u32 vf;
432+ __u32 min_tx_rate; /* Min Bandwidth in Mbps */
433+ __u32 max_tx_rate; /* Max Bandwidth in Mbps */
434+};
435+
426436 struct ifla_vf_spoofchk {
427437 __u32 vf;
428438 __u32 setting;
include/uapi/linux/if_tunnel.h+1−1
@@ -100,7 +100,7 @@ enum { · 99 unmodified lines
100100 #define IFLA_GRE_MAX (__IFLA_GRE_MAX - 1)
101101
102102 /* VTI-mode i_flags */
103−#define VTI_ISVTI 0x0001
103+#define VTI_ISVTI ((__force __be16)0x0001)
104104
105105 enum {
106106 IFLA_VTI_UNSPEC,
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/kvm_para.h+3−0
@@ -20,6 +20,9 @@ · 19 unmodified lines
2020 #define KVM_HC_FEATURES 3
2121 #define KVM_HC_PPC_MAP_MAGIC_PAGE 4
2222 #define KVM_HC_KICK_CPU 5
23+#define KVM_HC_MIPS_GET_CLOCK_FREQ 6
24+#define KVM_HC_MIPS_EXIT_VM 7
25+#define KVM_HC_MIPS_CONSOLE_OUTPUT 8
2326
2427 /*
2528 * hypercalls use architecture specific
include/uapi/linux/l2tp.h+2−0
@@ -124,6 +124,8 @@ enum { · 123 unmodified lines
124124 L2TP_ATTR_STATS, /* nested */
125125 L2TP_ATTR_IP6_SADDR, /* struct in6_addr */
126126 L2TP_ATTR_IP6_DADDR, /* struct in6_addr */
127+ L2TP_ATTR_UDP_ZERO_CSUM6_TX, /* u8 */
128+ L2TP_ATTR_UDP_ZERO_CSUM6_RX, /* u8 */
127129 __L2TP_ATTR_MAX,
128130 };
129131
include/uapi/linux/neighbour.h+1−0
@@ -24,6 +24,7 @@ enum { · 23 unmodified lines
2424 NDA_PORT,
2525 NDA_VNI,
2626 NDA_IFINDEX,
27+ NDA_MASTER,
2728 __NDA_MAX
2829 };
2930
include/uapi/linux/netfilter/nf_tables.h+37−0
@@ -211,6 +211,29 @@ enum nft_set_flags { · 210 unmodified lines
211211 NFT_SET_MAP = 0x8,
212212 };
213213
214+/**
215+ * enum nft_set_policies - set selection policy
216+ *
217+ * @NFT_SET_POL_PERFORMANCE: prefer high performance over low memory use
218+ * @NFT_SET_POL_MEMORY: prefer low memory use over high performance
219+ */
220+enum nft_set_policies {
221+ NFT_SET_POL_PERFORMANCE,
222+ NFT_SET_POL_MEMORY,
223+};
224+
225+/**
226+ * enum nft_set_desc_attributes - set element description
227+ *
228+ * @NFTA_SET_DESC_SIZE: number of elements in set (NLA_U32)
229+ */
230+enum nft_set_desc_attributes {
231+ NFTA_SET_DESC_UNSPEC,
232+ NFTA_SET_DESC_SIZE,
233+ __NFTA_SET_DESC_MAX
234+};
235+#define NFTA_SET_DESC_MAX (__NFTA_SET_DESC_MAX - 1)
236+
214237 /**
215238 * enum nft_set_attributes - nf_tables set netlink attributes
216239 *
@@ -221,6 +244,9 @@ enum nft_set_flags { · 4 unmodified lines
221244 * @NFTA_SET_KEY_LEN: key data length (NLA_U32)
222245 * @NFTA_SET_DATA_TYPE: mapping data type (NLA_U32)
223246 * @NFTA_SET_DATA_LEN: mapping data length (NLA_U32)
247+ * @NFTA_SET_POLICY: selection policy (NLA_U32)
248+ * @NFTA_SET_DESC: set description (NLA_NESTED)
249+ * @NFTA_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
224250 */
225251 enum nft_set_attributes {
226252 NFTA_SET_UNSPEC,
@@ -231,6 +257,9 @@ enum nft_set_attributes { · 4 unmodified lines
231257 NFTA_SET_KEY_LEN,
232258 NFTA_SET_DATA_TYPE,
233259 NFTA_SET_DATA_LEN,
260+ NFTA_SET_POLICY,
261+ NFTA_SET_DESC,
262+ NFTA_SET_ID,
234263 __NFTA_SET_MAX
235264 };
236265 #define NFTA_SET_MAX (__NFTA_SET_MAX - 1)
@@ -266,12 +295,14 @@ enum nft_set_elem_attributes { · 29 unmodified lines
266295 * @NFTA_SET_ELEM_LIST_TABLE: table of the set to be changed (NLA_STRING)
267296 * @NFTA_SET_ELEM_LIST_SET: name of the set to be changed (NLA_STRING)
268297 * @NFTA_SET_ELEM_LIST_ELEMENTS: list of set elements (NLA_NESTED: nft_set_elem_attributes)
298+ * @NFTA_SET_ELEM_LIST_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
269299 */
270300 enum nft_set_elem_list_attributes {
271301 NFTA_SET_ELEM_LIST_UNSPEC,
272302 NFTA_SET_ELEM_LIST_TABLE,
273303 NFTA_SET_ELEM_LIST_SET,
274304 NFTA_SET_ELEM_LIST_ELEMENTS,
305+ NFTA_SET_ELEM_LIST_SET_ID,
275306 __NFTA_SET_ELEM_LIST_MAX
276307 };
277308 #define NFTA_SET_ELEM_LIST_MAX (__NFTA_SET_ELEM_LIST_MAX - 1)
@@ -457,12 +488,14 @@ enum nft_cmp_attributes { · 179 unmodified lines
457488 * @NFTA_LOOKUP_SET: name of the set where to look for (NLA_STRING)
458489 * @NFTA_LOOKUP_SREG: source register of the data to look for (NLA_U32: nft_registers)
459490 * @NFTA_LOOKUP_DREG: destination register (NLA_U32: nft_registers)
491+ * @NFTA_LOOKUP_SET_ID: uniquely identifies a set in a transaction (NLA_U32)
460492 */
461493 enum nft_lookup_attributes {
462494 NFTA_LOOKUP_UNSPEC,
463495 NFTA_LOOKUP_SET,
464496 NFTA_LOOKUP_SREG,
465497 NFTA_LOOKUP_DREG,
498+ NFTA_LOOKUP_SET_ID,
466499 __NFTA_LOOKUP_MAX
467500 };
468501 #define NFTA_LOOKUP_MAX (__NFTA_LOOKUP_MAX - 1)
@@ -536,6 +569,8 @@ enum nft_exthdr_attributes { · 67 unmodified lines
536569 * @NFT_META_SECMARK: packet secmark (skb->secmark)
537570 * @NFT_META_NFPROTO: netfilter protocol
538571 * @NFT_META_L4PROTO: layer 4 protocol number
572+ * @NFT_META_BRI_IIFNAME: packet input bridge interface name
573+ * @NFT_META_BRI_OIFNAME: packet output bridge interface name
539574 */
540575 enum nft_meta_keys {
541576 NFT_META_LEN,
@@ -555,6 +590,8 @@ enum nft_meta_keys { · 13 unmodified lines
555590 NFT_META_SECMARK,
556591 NFT_META_NFPROTO,
557592 NFT_META_L4PROTO,
593+ NFT_META_BRI_IIFNAME,
594+ NFT_META_BRI_OIFNAME,
558595 };
559596
560597 /**
include/uapi/linux/netfilter/nfnetlink.h+2−0
@@ -20,6 +20,8 @@ enum nfnetlink_groups { · 19 unmodified lines
2020 #define NFNLGRP_CONNTRACK_EXP_DESTROY NFNLGRP_CONNTRACK_EXP_DESTROY
2121 NFNLGRP_NFTABLES,
2222 #define NFNLGRP_NFTABLES NFNLGRP_NFTABLES
23+ NFNLGRP_ACCT_QUOTA,
24+#define NFNLGRP_ACCT_QUOTA NFNLGRP_ACCT_QUOTA
2325 __NFNLGRP_MAX,
2426 };
2527 #define NFNLGRP_MAX (__NFNLGRP_MAX - 1)
include/uapi/linux/netfilter/nfnetlink_acct.h+9−0
@@ -10,15 +10,24 @@ enum nfnl_acct_msg_types { · 9 unmodified lines
1010 NFNL_MSG_ACCT_GET,
1111 NFNL_MSG_ACCT_GET_CTRZERO,
1212 NFNL_MSG_ACCT_DEL,
13+ NFNL_MSG_ACCT_OVERQUOTA,
1314 NFNL_MSG_ACCT_MAX
1415 };
1516
17+enum nfnl_acct_flags {
18+ NFACCT_F_QUOTA_PKTS = (1 << 0),
19+ NFACCT_F_QUOTA_BYTES = (1 << 1),
20+ NFACCT_F_OVERQUOTA = (1 << 2), /* can't be set from userspace */
21+};
22+
1623 enum nfnl_acct_type {
1724 NFACCT_UNSPEC,
1825 NFACCT_NAME,
1926 NFACCT_PKTS,
2027 NFACCT_BYTES,
2128 NFACCT_USE,
29+ NFACCT_FLAGS,
30+ NFACCT_QUOTA,
2231 __NFACCT_MAX
2332 };
2433 #define NFACCT_MAX (__NFACCT_MAX - 1)
include/uapi/linux/nfc.h+12−4
@@ -273,11 +273,19 @@ struct sockaddr_nfc_llcp { · 272 unmodified lines
273273 * First byte is the adapter index
274274 * Second byte contains flags
275275 * - 0x01 - Direction (0=RX, 1=TX)
276− * - 0x02-0x80 - Reserved
276+ * - 0x02-0x04 - Payload type (000=LLCP, 001=NCI, 010=HCI, 011=Digital,
277+ * 100=Proprietary)
278+ * - 0x05-0x80 - Reserved
277279 **/
278−#define NFC_LLCP_RAW_HEADER_SIZE 2
279−#define NFC_LLCP_DIRECTION_RX 0x00
280−#define NFC_LLCP_DIRECTION_TX 0x01
280+#define NFC_RAW_HEADER_SIZE 2
281+#define NFC_DIRECTION_RX 0x00
282+#define NFC_DIRECTION_TX 0x01
283+
284+#define RAW_PAYLOAD_LLCP 0
285+#define RAW_PAYLOAD_NCI 1
286+#define RAW_PAYLOAD_HCI 2
287+#define RAW_PAYLOAD_DIGITAL 3
288+#define RAW_PAYLOAD_PROPRIETARY 4
281289
282290 /* socket option names */
283291 #define NFC_LLCP_RW 0
include/uapi/linux/nfsd/nfsfh.h+7−25
@@ -1,13 +1,7 @@
11 /*
2− * include/linux/nfsd/nfsfh.h
3− *
42 * This file describes the layout of the file handles as passed
53 * over the wire.
64 *
7− * Earlier versions of knfsd used to sign file handles using keyed MD5
8− * or SHA. I've removed this code, because it doesn't give you more
9− * security than blocking external access to port 2049 on your firewall.
10− *
115 * Copyright (C) 1995, 1996, 1997 Olaf Kirch <okir@monad.swb.de>
126 */
137
@@ -37,7 +31,7 @@ struct nfs_fhbase_old { · 23 unmodified lines
3731 };
3832
3933 /*
40− * This is the new flexible, extensible style NFSv2/v3 file handle.
34+ * This is the new flexible, extensible style NFSv2/v3/v4 file handle.
4135 * by Neil Brown <neilb@cse.unsw.edu.au> - March 2000
4236 *
4337 * The file handle starts with a sequence of four-byte words.
@@ -47,14 +41,7 @@ struct nfs_fhbase_old { · 3 unmodified lines
4741 *
4842 * All four-byte values are in host-byte-order.
4943 *
50− * The auth_type field specifies how the filehandle can be authenticated
51− * This might allow a file to be confirmed to be in a writable part of a
52− * filetree without checking the path from it up to the root.
53− * Current values:
54− * 0 - No authentication. fb_auth is 0 bytes long
55− * Possible future values:
56− * 1 - 4 bytes taken from MD5 hash of the remainer of the file handle
57− * prefixed by a secret and with the important export flags.
44+ * The auth_type field is deprecated and must be set to 0.
5845 *
5946 * The fsid_type identifies how the filesystem (or export point) is
6047 * encoded.
@@ -71,14 +58,9 @@ struct nfs_fhbase_old { · 10 unmodified lines
7158 * 7 - 8 byte inode number and 16 byte uuid
7259 *
7360 * The fileid_type identified how the file within the filesystem is encoded.
74− * This is (will be) passed to, and set by, the underlying filesystem if it supports
75− * filehandle operations. The filesystem must not use the value '0' or '0xff' and may
76− * only use the values 1 and 2 as defined below:
77− * Current values:
78− * 0 - The root, or export point, of the filesystem. fb_fileid is 0 bytes.
79− * 1 - 32bit inode number, 32 bit generation number.
80− * 2 - 32bit inode number, 32 bit generation number, 32 bit parent directory inode number.
81− *
61+ * The values for this field are filesystem specific, exccept that
62+ * filesystems must not use the values '0' or '0xff'. 'See enum fid_type'
63+ * in include/linux/exportfs.h for currently registered values.
8264 */
8365 struct nfs_fhbase_new {
8466 __u8 fb_version; /* == 1, even => nfs_fhbase_old */
@@ -114,9 +96,9 @@ struct knfsd_fh { · 29 unmodified lines
11496 #define fh_fsid_type fh_base.fh_new.fb_fsid_type
11597 #define fh_auth_type fh_base.fh_new.fb_auth_type
11698 #define fh_fileid_type fh_base.fh_new.fb_fileid_type
117−#define fh_auth fh_base.fh_new.fb_auth
11899 #define fh_fsid fh_base.fh_new.fb_auth
119100
120−
101+/* Do not use, provided for userspace compatiblity. */
102+#define fh_auth fh_base.fh_new.fb_auth
121103
122104 #endif /* _UAPI_LINUX_NFSD_FH_H */
include/uapi/linux/nl80211.h+66−5
@@ -503,6 +503,9 @@ · 502 unmodified lines
503503 * TX status event pertaining to the TX request.
504504 * %NL80211_ATTR_TX_NO_CCK_RATE is used to decide whether to send the
505505 * management frames at CCK rate or not in 2GHz band.
506+ * %NL80211_ATTR_CSA_C_OFFSETS_TX is an array of offsets to CSA
507+ * counters which will be updated to the current value. This attribute
508+ * is used during CSA period.
506509 * @NL80211_CMD_FRAME_WAIT_CANCEL: When an off-channel TX was requested, this
507510 * command may be used with the corresponding cookie to cancel the wait
508511 * time if it is known that it is no longer necessary.
@@ -1525,10 +1528,10 @@ enum nl80211_commands { · 1016 unmodified lines
15251528 * operation).
15261529 * @NL80211_ATTR_CSA_IES: Nested set of attributes containing the IE information
15271530 * for the time while performing a channel switch.
1528− * @NL80211_ATTR_CSA_C_OFF_BEACON: Offset of the channel switch counter
1529− * field in the beacons tail (%NL80211_ATTR_BEACON_TAIL).
1530− * @NL80211_ATTR_CSA_C_OFF_PRESP: Offset of the channel switch counter
1531− * field in the probe response (%NL80211_ATTR_PROBE_RESP).
1531+ * @NL80211_ATTR_CSA_C_OFF_BEACON: An array of offsets (u16) to the channel
1532+ * switch counters in the beacons tail (%NL80211_ATTR_BEACON_TAIL).
1533+ * @NL80211_ATTR_CSA_C_OFF_PRESP: An array of offsets (u16) to the channel
1534+ * switch counters in the probe response (%NL80211_ATTR_PROBE_RESP).
15321535 *
15331536 * @NL80211_ATTR_RXMGMT_FLAGS: flags for nl80211_send_mgmt(), u32.
15341537 * As specified in the &enum nl80211_rxmgmt_flags.
@@ -1576,9 +1579,18 @@ enum nl80211_commands { · 41 unmodified lines
15761579 * advertise values that cannot always be met. In such cases, an attempt
15771580 * to add a new station entry with @NL80211_CMD_NEW_STATION may fail.
15781581 *
1582+ * @NL80211_ATTR_CSA_C_OFFSETS_TX: An array of csa counter offsets (u16) which
1583+ * should be updated when the frame is transmitted.
1584+ * @NL80211_ATTR_MAX_CSA_COUNTERS: U8 attribute used to advertise the maximum
1585+ * supported number of csa counters.
1586+ *
15791587 * @NL80211_ATTR_TDLS_PEER_CAPABILITY: flags for TDLS peer capabilities, u32.
15801588 * As specified in the &enum nl80211_tdls_peer_capability.
15811589 *
1590+ * @NL80211_ATTR_IFACE_SOCKET_OWNER: flag attribute, if set during interface
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
1593+ *
15821594 * @NL80211_ATTR_MAX: highest attribute number currently defined
15831595 * @__NL80211_ATTR_AFTER_LAST: internal use
15841596 */
@@ -1914,6 +1926,11 @@ enum nl80211_attrs { · 329 unmodified lines
19141926
19151927 NL80211_ATTR_TDLS_PEER_CAPABILITY,
19161928
1929+ NL80211_ATTR_IFACE_SOCKET_OWNER,
1930+
1931+ NL80211_ATTR_CSA_C_OFFSETS_TX,
1932+ NL80211_ATTR_MAX_CSA_COUNTERS,
1933+
19171934 /* add attributes here, update the policy in nl80211.c */
19181935
19191936 __NL80211_ATTR_AFTER_LAST,
@@ -2182,6 +2199,8 @@ enum nl80211_sta_bss_param { · 262 unmodified lines
21822199 * Contains a nested array of signal strength attributes (u8, dBm)
21832200 * @NL80211_STA_INFO_CHAIN_SIGNAL_AVG: per-chain signal strength average
21842201 * Same format as NL80211_STA_INFO_CHAIN_SIGNAL.
2202+ * @NL80211_STA_EXPECTED_THROUGHPUT: expected throughput considering also the
2203+ * 802.11 header (u32, kbps)
21852204 * @__NL80211_STA_INFO_AFTER_LAST: internal
21862205 * @NL80211_STA_INFO_MAX: highest possible station info attribute
21872206 */
@@ -2213,6 +2232,7 @@ enum nl80211_sta_info { · 25 unmodified lines
22132232 NL80211_STA_INFO_TX_BYTES64,
22142233 NL80211_STA_INFO_CHAIN_SIGNAL,
22152234 NL80211_STA_INFO_CHAIN_SIGNAL_AVG,
2235+ NL80211_STA_INFO_EXPECTED_THROUGHPUT,
22162236
22172237 /* keep last */
22182238 __NL80211_STA_INFO_AFTER_LAST,
@@ -2336,9 +2356,34 @@ enum nl80211_band_attr { · 117 unmodified lines
23362356 * using this channel as the primary or any of the secondary channels
23372357 * isn't possible
23382358 * @NL80211_FREQUENCY_ATTR_DFS_CAC_TIME: DFS CAC time in milliseconds.
2359+ * @NL80211_FREQUENCY_ATTR_INDOOR_ONLY: Only indoor use is permitted on this
2360+ * channel. A channel that has the INDOOR_ONLY attribute can only be
2361+ * used when there is a clear assessment that the device is operating in
2362+ * an indoor surroundings, i.e., it is connected to AC power (and not
2363+ * through portable DC inverters) or is under the control of a master
2364+ * that is acting as an AP and is connected to AC power.
2365+ * @NL80211_FREQUENCY_ATTR_GO_CONCURRENT: GO operation is allowed on this
2366+ * channel if it's connected concurrently to a BSS on the same channel on
2367+ * the 2 GHz band or to a channel in the same UNII band (on the 5 GHz
2368+ * band), and IEEE80211_CHAN_RADAR is not set. Instantiating a GO on a
2369+ * channel that has the GO_CONCURRENT attribute set can be done when there
2370+ * is a clear assessment that the device is operating under the guidance of
2371+ * an authorized master, i.e., setting up a GO while the device is also
2372+ * connected to an AP with DFS and radar detection on the UNII band (it is
2373+ * up to user-space, i.e., wpa_supplicant to perform the required
2374+ * verifications)
2375+ * @NL80211_FREQUENCY_ATTR_NO_20MHZ: 20 MHz operation is not allowed
2376+ * on this channel in current regulatory domain.
2377+ * @NL80211_FREQUENCY_ATTR_NO_10MHZ: 10 MHz operation is not allowed
2378+ * on this channel in current regulatory domain.
23392379 * @NL80211_FREQUENCY_ATTR_MAX: highest frequency attribute number
23402380 * currently defined
23412381 * @__NL80211_FREQUENCY_ATTR_AFTER_LAST: internal use
2382+ *
2383+ * See https://apps.fcc.gov/eas/comments/GetPublishedDocument.html?id=327&tn=528122
2384+ * for more information on the FCC description of the relaxations allowed
2385+ * by NL80211_FREQUENCY_ATTR_INDOOR_ONLY and
2386+ * NL80211_FREQUENCY_ATTR_GO_CONCURRENT.
23422387 */
23432388 enum nl80211_frequency_attr {
23442389 __NL80211_FREQUENCY_ATTR_INVALID,
@@ -2355,6 +2400,10 @@ enum nl80211_frequency_attr { · 10 unmodified lines
23552400 NL80211_FREQUENCY_ATTR_NO_80MHZ,
23562401 NL80211_FREQUENCY_ATTR_NO_160MHZ,
23572402 NL80211_FREQUENCY_ATTR_DFS_CAC_TIME,
2403+ NL80211_FREQUENCY_ATTR_INDOOR_ONLY,
2404+ NL80211_FREQUENCY_ATTR_GO_CONCURRENT,
2405+ NL80211_FREQUENCY_ATTR_NO_20MHZ,
2406+ NL80211_FREQUENCY_ATTR_NO_10MHZ,
23582407
23592408 /* keep last */
23602409 __NL80211_FREQUENCY_ATTR_AFTER_LAST,
@@ -2573,10 +2622,13 @@ enum nl80211_dfs_regions { · 212 unmodified lines
25732622 * present has been registered with the wireless core that
25742623 * has listed NL80211_FEATURE_CELL_BASE_REG_HINTS as a
25752624 * supported feature.
2625+ * @NL80211_USER_REG_HINT_INDOOR: a user sent an hint indicating that the
2626+ * platform is operating in an indoor environment.
25762627 */
25772628 enum nl80211_user_reg_hint_type {
25782629 NL80211_USER_REG_HINT_USER = 0,
25792630 NL80211_USER_REG_HINT_CELL_BASE = 1,
2631+ NL80211_USER_REG_HINT_INDOOR = 2,
25802632 };
25812633
25822634 /**
@@ -3650,6 +3702,8 @@ enum nl80211_iface_limit_attrs { · 1067 unmodified lines
36503702 * different channels may be used within this group.
36513703 * @NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS: u32 attribute containing the bitmap
36523704 * of supported channel widths for radar detection.
3705+ * @NL80211_IFACE_COMB_RADAR_DETECT_REGIONS: u32 attribute containing the bitmap
3706+ * of supported regulatory regions for radar detection.
36533707 * @NUM_NL80211_IFACE_COMB: number of attributes
36543708 * @MAX_NL80211_IFACE_COMB: highest attribute number
36553709 *
@@ -3683,6 +3737,7 @@ enum nl80211_if_combination_attrs { · 27 unmodified lines
36833737 NL80211_IFACE_COMB_STA_AP_BI_MATCH,
36843738 NL80211_IFACE_COMB_NUM_CHANNELS,
36853739 NL80211_IFACE_COMB_RADAR_DETECT_WIDTHS,
3740+ NL80211_IFACE_COMB_RADAR_DETECT_REGIONS,
36863741
36873742 /* keep last */
36883743 NUM_NL80211_IFACE_COMB,
@@ -3856,6 +3911,8 @@ enum nl80211_ap_sme_features { · 167 unmodified lines
38563911 * @NL80211_FEATURE_CELL_BASE_REG_HINTS: This driver has been tested
38573912 * to work properly to suppport receiving regulatory hints from
38583913 * cellular base stations.
3914+ * @NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL: (no longer available, only
3915+ * here to reserve the value for API/ABI compatibility)
38593916 * @NL80211_FEATURE_SAE: This driver supports simultaneous authentication of
38603917 * equals (SAE) with user space SME (NL80211_CMD_AUTHENTICATE) in station
38613918 * mode
@@ -3891,13 +3948,16 @@ enum nl80211_ap_sme_features { · 29 unmodified lines
38913948 * interface. An active monitor interface behaves like a normal monitor
38923949 * interface, but gets added to the driver. It ensures that incoming
38933950 * unicast packets directed at the configured interface address get ACKed.
3951+ * @NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE: This driver supports dynamic
3952+ * channel bandwidth change (e.g., HT 20 <-> 40 MHz channel) during the
3953+ * lifetime of a BSS.
38943954 */
38953955 enum nl80211_feature_flags {
38963956 NL80211_FEATURE_SK_TX_STATUS = 1 << 0,
38973957 NL80211_FEATURE_HT_IBSS = 1 << 1,
38983958 NL80211_FEATURE_INACTIVITY_TIMER = 1 << 2,
38993959 NL80211_FEATURE_CELL_BASE_REG_HINTS = 1 << 3,
3900− /* bit 4 is reserved - don't use */
3960+ NL80211_FEATURE_P2P_DEVICE_NEEDS_CHANNEL = 1 << 4,
39013961 NL80211_FEATURE_SAE = 1 << 5,
39023962 NL80211_FEATURE_LOW_PRIORITY_SCAN = 1 << 6,
39033963 NL80211_FEATURE_SCAN_FLUSH = 1 << 7,
@@ -3911,6 +3971,7 @@ enum nl80211_feature_flags { · 7 unmodified lines
39113971 NL80211_FEATURE_FULL_AP_CLIENT_STATE = 1 << 15,
39123972 NL80211_FEATURE_USERSPACE_MPM = 1 << 16,
39133973 NL80211_FEATURE_ACTIVE_MONITOR = 1 << 17,
3974+ NL80211_FEATURE_AP_MODE_CHAN_WIDTH_CHANGE = 1 << 18,
39143975 };
39153976
39163977 /**
include/uapi/linux/nvme.h+39−11
@@ -1,6 +1,6 @@
11 /*
22 * Definitions for the NVM Express interface
3− * Copyright (c) 2011-2013, Intel Corporation.
3+ * Copyright (c) 2011-2014, Intel Corporation.
44 *
55 * This program is free software; you can redistribute it and/or modify it
66 * under the terms and conditions of the GNU General Public License,
@@ -10,10 +10,6 @@ · 3 unmodified lines
1010 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
1111 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
1212 * more details.
13− *
14− * You should have received a copy of the GNU General Public License along with
15− * this program; if not, write to the Free Software Foundation, Inc.,
16− * 51 Franklin St - Fifth Floor, Boston, MA 02110-1301 USA.
1713 */
1814
1915 #ifndef _UAPI_LINUX_NVME_H
@@ -31,7 +27,12 @@ struct nvme_id_power_state { · 11 unmodified lines
3127 __u8 read_lat;
3228 __u8 write_tput;
3329 __u8 write_lat;
34− __u8 rsvd16[16];
30+ __le16 idle_power;
31+ __u8 idle_scale;
32+ __u8 rsvd19;
33+ __le16 active_power;
34+ __u8 active_work_scale;
35+ __u8 rsvd23[9];
3536 };
3637
3738 enum {
@@ -49,7 +50,9 @@ struct nvme_id_ctrl { · 11 unmodified lines
4950 __u8 ieee[3];
5051 __u8 mic;
5152 __u8 mdts;
52− __u8 rsvd78[178];
53+ __u16 cntlid;
54+ __u32 ver;
55+ __u8 rsvd84[172];
5356 __le16 oacs;
5457 __u8 acl;
5558 __u8 aerl;
@@ -57,7 +60,11 @@ struct nvme_id_ctrl { · 1 unmodified line
5760 __u8 lpa;
5861 __u8 elpe;
5962 __u8 npss;
60− __u8 rsvd264[248];
63+ __u8 avscc;
64+ __u8 apsta;
65+ __le16 wctemp;
66+ __le16 cctemp;
67+ __u8 rsvd270[242];
6168 __u8 sqes;
6269 __u8 cqes;
6370 __u8 rsvd514[2];
@@ -68,7 +75,12 @@ struct nvme_id_ctrl { · 4 unmodified lines
6875 __u8 vwc;
6976 __le16 awun;
7077 __le16 awupf;
71− __u8 rsvd530[1518];
78+ __u8 nvscc;
79+ __u8 rsvd531;
80+ __le16 acwu;
81+ __u8 rsvd534[2];
82+ __le32 sgls;
83+ __u8 rsvd540[1508];
7284 struct nvme_id_power_state psd[32];
7385 __u8 vs[1024];
7486 };
@@ -77,6 +89,7 @@ enum { · 2 unmodified lines
7789 NVME_CTRL_ONCS_COMPARE = 1 << 0,
7890 NVME_CTRL_ONCS_WRITE_UNCORRECTABLE = 1 << 1,
7991 NVME_CTRL_ONCS_DSM = 1 << 2,
92+ NVME_CTRL_VWC_PRESENT = 1 << 0,
8093 };
8194
8295 struct nvme_lbaf {
@@ -95,7 +108,15 @@ struct nvme_id_ns { · 12 unmodified lines
95108 __u8 mc;
96109 __u8 dpc;
97110 __u8 dps;
98− __u8 rsvd30[98];
111+ __u8 nmic;
112+ __u8 rescap;
113+ __u8 fpi;
114+ __u8 rsvd33;
115+ __le16 nawun;
116+ __le16 nawupf;
117+ __le16 nacwu;
118+ __u8 rsvd40[80];
119+ __u8 eui64[8];
99120 struct nvme_lbaf lbaf[16];
100121 __u8 rsvd192[192];
101122 __u8 vs[3712];
@@ -126,7 +147,10 @@ struct nvme_smart_log { · 24 unmodified lines
126147 __u8 unsafe_shutdowns[16];
127148 __u8 media_errors[16];
128149 __u8 num_err_log_entries[16];
129− __u8 rsvd192[320];
150+ __le32 warning_temp_time;
151+ __le32 critical_comp_time;
152+ __le16 temp_sensor[8];
153+ __u8 rsvd216[296];
130154 };
131155
132156 enum {
@@ -282,6 +306,10 @@ enum { · 149 unmodified lines
282306 NVME_FEAT_WRITE_ATOMIC = 0x0a,
283307 NVME_FEAT_ASYNC_EVENT = 0x0b,
284308 NVME_FEAT_SW_PROGRESS = 0x0c,
309+ NVME_LOG_ERROR = 0x01,
310+ NVME_LOG_SMART = 0x02,
311+ NVME_LOG_FW_SLOT = 0x03,
312+ NVME_LOG_RESERVATION = 0x80,
285313 NVME_FWACT_REPL = (0 << 3),
286314 NVME_FWACT_REPL_ACTV = (1 << 3),
287315 NVME_FWACT_ACTV = (2 << 3),
include/uapi/linux/openvswitch.h+3−1
@@ -395,7 +395,9 @@ struct ovs_key_nd { · 394 unmodified lines
395395 * @OVS_FLOW_ATTR_ACTIONS: Nested %OVS_ACTION_ATTR_* attributes specifying
396396 * the actions to take for packets that match the key. Always present in
397397 * notifications. Required for %OVS_FLOW_CMD_NEW requests, optional for
398− * %OVS_FLOW_CMD_SET requests.
398+ * %OVS_FLOW_CMD_SET requests. An %OVS_FLOW_CMD_SET without
399+ * %OVS_FLOW_ATTR_ACTIONS will not modify the actions. To clear the actions,
400+ * an %OVS_FLOW_ATTR_ACTIONS without any nested attributes must be given.
399401 * @OVS_FLOW_ATTR_STATS: &struct ovs_flow_stats giving statistics for this
400402 * flow. Present in notifications if the stats would be nonzero. Ignored in
401403 * requests.
include/uapi/linux/perf_event.h+14−7
@@ -163,8 +163,9 @@ enum perf_branch_sample_type { · 162 unmodified lines
163163 PERF_SAMPLE_BRANCH_ABORT_TX = 1U << 7, /* transaction aborts */
164164 PERF_SAMPLE_BRANCH_IN_TX = 1U << 8, /* in transaction */
165165 PERF_SAMPLE_BRANCH_NO_TX = 1U << 9, /* not in transaction */
166+ PERF_SAMPLE_BRANCH_COND = 1U << 10, /* conditional branches */
166167
167− PERF_SAMPLE_BRANCH_MAX = 1U << 10, /* non-ABI */
168+ PERF_SAMPLE_BRANCH_MAX = 1U << 11, /* non-ABI */
168169 };
169170
170171 #define PERF_SAMPLE_BRANCH_PLM_ALL \
@@ -301,8 +302,8 @@ struct perf_event_attr { · 130 unmodified lines
301302 exclude_callchain_kernel : 1, /* exclude kernel callchains */
302303 exclude_callchain_user : 1, /* exclude user callchains */
303304 mmap2 : 1, /* include mmap with inode data */
304−
305− __reserved_1 : 40;
305+ comm_exec : 1, /* flag comm events that are due to an exec */
306+ __reserved_1 : 39;
306307
307308 union {
308309 __u32 wakeup_events; /* wakeup every n events */
@@ -501,7 +502,12 @@ struct perf_event_mmap_page { · 192 unmodified lines
501502 #define PERF_RECORD_MISC_GUEST_KERNEL (4 << 0)
502503 #define PERF_RECORD_MISC_GUEST_USER (5 << 0)
503504
505+/*
506+ * PERF_RECORD_MISC_MMAP_DATA and PERF_RECORD_MISC_COMM_EXEC are used on
507+ * different events so can reuse the same bit position.
508+ */
504509 #define PERF_RECORD_MISC_MMAP_DATA (1 << 13)
510+#define PERF_RECORD_MISC_COMM_EXEC (1 << 13)
505511 /*
506512 * Indicates that the content of PERF_SAMPLE_IP points to
507513 * the actual instruction that triggered the event. See also
@@ -699,6 +705,7 @@ enum perf_event_type { · 191 unmodified lines
699705 * u32 min;
700706 * u64 ino;
701707 * u64 ino_generation;
708+ * u32 prot, flags;
702709 * char filename[];
703710 * struct sample_id sample_id;
704711 * };
@@ -722,10 +729,10 @@ enum perf_callchain_context { · 17 unmodified lines
722729 PERF_CONTEXT_MAX = (__u64)-4095,
723730 };
724731
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 */
732+#define PERF_FLAG_FD_NO_GROUP (1UL << 0)
733+#define PERF_FLAG_FD_OUTPUT (1UL << 1)
734+#define PERF_FLAG_PID_CGROUP (1UL << 2) /* pid=cgroup id, per-cpu mode only */
735+#define PERF_FLAG_FD_CLOEXEC (1UL << 3) /* O_CLOEXEC */
729736
730737 union perf_mem_data_src {
731738 __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/tipc.h+23−0
@@ -38,6 +38,7 @@ · 37 unmodified lines
3838 #define _LINUX_TIPC_H_
3939
4040 #include <linux/types.h>
41+#include <linux/sockios.h>
4142
4243 /*
4344 * TIPC addressing primitives
@@ -87,6 +88,7 @@ static inline unsigned int tipc_node(__u32 addr) · 43 unmodified lines
8788
8889 #define TIPC_CFG_SRV 0 /* configuration service name type */
8990 #define TIPC_TOP_SRV 1 /* topology service name type */
91+#define TIPC_LINK_STATE 2 /* link state name type */
9092 #define TIPC_RESERVED_TYPES 64 /* lowest user-publishable name type */
9193
9294 /*
@@ -206,4 +208,25 @@ struct sockaddr_tipc { · 113 unmodified lines
206208 #define TIPC_NODE_RECVQ_DEPTH 131 /* Default: none (read only) */
207209 #define TIPC_SOCK_RECVQ_DEPTH 132 /* Default: none (read only) */
208210
211+/*
212+ * Maximum sizes of TIPC bearer-related names (including terminating NULL)
213+ * The string formatting for each name element is:
214+ * media: media
215+ * interface: media:interface name
216+ * link: Z.C.N:interface-Z.C.N:interface
217+ *
218+ */
219+
220+#define TIPC_MAX_MEDIA_NAME 16
221+#define TIPC_MAX_IF_NAME 16
222+#define TIPC_MAX_BEARER_NAME 32
223+#define TIPC_MAX_LINK_NAME 60
224+
225+#define SIOCGETLINKNAME SIOCPROTOPRIVATE
226+
227+struct tipc_sioc_ln_req {
228+ __u32 peer;
229+ __u32 bearer_id;
230+ char linkname[TIPC_MAX_LINK_NAME];
231+};
209232 #endif
include/uapi/linux/tipc_config.h+1−9
@@ -39,6 +39,7 @@ · 38 unmodified lines
3939
4040 #include <linux/types.h>
4141 #include <linux/string.h>
42+#include <linux/tipc.h>
4243 #include <asm/byteorder.h>
4344
4445 #ifndef __KERNEL__
@@ -154,15 +155,6 @@ · 109 unmodified lines
154155 #define TIPC_TLV_NAME_TBL_QUERY 25 /* struct tipc_name_table_query */
155156 #define TIPC_TLV_PORT_REF 26 /* 32-bit port reference */
156157
157−/*
158− * Maximum sizes of TIPC bearer-related names (including terminating NUL)
159− */
160−
161−#define TIPC_MAX_MEDIA_NAME 16 /* format = media */
162−#define TIPC_MAX_IF_NAME 16 /* format = interface */
163−#define TIPC_MAX_BEARER_NAME 32 /* format = media:interface */
164−#define TIPC_MAX_LINK_NAME 60 /* format = Z.C.N:interface-Z.C.N:interface */
165−
166158 /*
167159 * Link priority limits (min, default, max, media default)
168160 */
include/uapi/linux/udp.h+2−0
@@ -29,6 +29,8 @@ struct udphdr { · 28 unmodified lines
2929 /* UDP socket options */
3030 #define UDP_CORK 1 /* Never send partially complete segments */
3131 #define UDP_ENCAP 100 /* Set the socket to accept encapsulated packets */
32+#define UDP_NO_CHECK6_TX 101 /* Disable sending checksum for UDP6X */
33+#define UDP_NO_CHECK6_RX 102 /* Disable accpeting checksum for UDP6 */
3234
3335 /* UDP encapsulation types */
3436 #define UDP_ENCAP_ESPINUDP_NON_IKE 1 /* draft-ietf-ipsec-nat-t-ike-00/01 */
include/uapi/linux/usb/Kbuild+1−0
@@ -1,6 +1,7 @@
11 # UAPI Header export list
22 header-y += audio.h
33 header-y += cdc.h
4+header-y += cdc-wdm.h
45 header-y += ch11.h
56 header-y += ch9.h
67 header-y += functionfs.h
include/uapi/linux/usb/cdc-wdm.h+2−0
@@ -9,6 +9,8 @@ · 8 unmodified lines
99 #ifndef _UAPI__LINUX_USB_CDC_WDM_H
1010 #define _UAPI__LINUX_USB_CDC_WDM_H
1111
12+#include <linux/types.h>
13+
1214 /*
1315 * This IOCTL is used to retrieve the wMaxCommand for the device,
1416 * defining the message limit for both reading and writing.
include/uapi/linux/usb/functionfs.h+7−0
@@ -33,6 +33,13 @@ struct usb_endpoint_descriptor_no_audio { · 32 unmodified lines
3333 __u8 bInterval;
3434 } __attribute__((packed));
3535
36+/* Legacy format, deprecated as of 3.14. */
37+struct usb_functionfs_descs_head {
38+ __le32 magic;
39+ __le32 length;
40+ __le32 fs_count;
41+ __le32 hs_count;
42+} __attribute__((packed, deprecated));
3643
3744 /*
3845 * Descriptors format:
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;