mirror-linux/include/uapi/linux
Chris Wulff a139c98f76 USB: gadget: f_hid: Add GET_REPORT via userspace IOCTL
While supporting GET_REPORT is a mandatory request per the HID
specification the current implementation of the GET_REPORT request responds
to the USB Host with an empty reply of the request length. However, some
USB Hosts will request the contents of feature reports via the GET_REPORT
request. In addition, some proprietary HID 'protocols' will expect
different data, for the same report ID, to be to become available in the
feature report by sending a preceding SET_REPORT to the USB Device that
defines what data is to be presented when that feature report is
subsequently retrieved via GET_REPORT (with a very fast < 5ms turn around
between the SET_REPORT and the GET_REPORT).

There are two other patch sets already submitted for adding GET_REPORT
support. The first [1] allows for pre-priming a list of reports via IOCTLs
which then allows the USB Host to perform the request, with no further
userspace interaction possible during the GET_REPORT request. And another
[2] which allows for a single report to be setup by userspace via IOCTL,
which will be fetched and returned by the kernel for subsequent GET_REPORT
requests by the USB Host, also with no further userspace interaction
possible.

This patch, while loosely based on both the patch sets, differs by allowing
the option for userspace to respond to each GET_REPORT request by setting
up a poll to notify userspace that a new GET_REPORT request has arrived. To
support this, two extra IOCTLs are supplied. The first of which is used to
retrieve the report ID of the GET_REPORT request (in the case of having
non-zero report IDs in the HID descriptor). The second IOCTL allows for
storing report responses in a list for responding to requests.

The report responses are stored in a list (it will be either added if it
does not exist or updated if it exists already). A flag (userspace_req) can
be set to whether subsequent requests notify userspace or not.

Basic operation when a GET_REPORT request arrives from USB Host:

- If the report ID exists in the list and it is set for immediate return
  (i.e. userspace_req == false) then response is sent immediately,
userspace is not notified

- The report ID does not exist, or exists but is set to notify userspace
  (i.e. userspace_req == true) then notify userspace via poll:

	- If userspace responds, and either adds or update the response in
	  the list and respond to the host with the contents

	- If userspace does not respond within the fixed timeout (2500ms)
	  but the report has been set prevously, then send 'old' report
	  contents

	- If userspace does not respond within the fixed timeout (2500ms)
	  and the report does not exist in the list then send an empty
	  report

Note that userspace could 'prime' the report list at any other time.

While this patch allows for flexibility in how the system responds to
requests, and therefore the HID 'protocols' that could be supported, a
drawback is the time it takes to service the requests and therefore the
maximum throughput that would be achievable. The USB HID Specification
v1.11 itself states that GET_REPORT is not intended for periodic data
polling, so this limitation is not severe.

Testing on an iMX8M Nano Ultra Lite with a heavy multi-core CPU loading
showed that userspace can typically respond to the GET_REPORT request
within 1200ms - which is well within the 5000ms most operating systems seem
to allow, and within the 2500ms set by this patch.

[1] https://lore.kernel.org/all/20220805070507.123151-2-sunil@amarulasolutions.com/
[2] https://lore.kernel.org/all/20220726005824.2817646-1-vi@endrift.com/

Signed-off-by: David Sands <david.sands@biamp.com>
Signed-off-by: Chris Wulff <chris.wulff@biamp.com>
Link: https://lore.kernel.org/r/20240817142850.1311460-2-crwulff@gmail.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-08-22 17:25:59 +08:00
..
android binder: use enum for binder ioctls 2023-12-15 17:06:45 +01:00
byteorder
caif
can can: isotp: remove ISO 15675-2 specification version where possible 2024-06-20 11:52:56 +02:00
cifs
dvb media: dvb: Fix dtvs_stats packing. 2024-04-15 13:42:38 +02:00
genwqe
hdlc
hsi
iio iio: core: Add new DMABUF interface infrastructure 2024-06-30 11:29:17 +01:00
isdn
media/raspberrypi media: uapi: pisp_be_config: Add extra config fields 2024-07-12 10:11:43 +02:00
misc
mmc
netfilter netfilter: nf_tables: rise cap on SELinux secmark context 2024-06-26 00:54:53 +02:00
netfilter_arp
netfilter_bridge netfilter: ebtables: replace zero-length array members 2023-08-22 15:13:20 +02:00
netfilter_ipv4
netfilter_ipv6
nfsd NFSD: Handle new xprtsec= export option 2023-04-27 18:49:24 -04:00
raid md: Remove deprecated CONFIG_MD_FAULTY 2023-12-19 10:37:50 -08:00
sched sched/headers: Move 'struct sched_param' out of uapi, to work around glibc/musl breakage 2023-10-02 20:48:16 +02:00
spi spi: add SPI_MOSI_IDLE_LOW mode bit 2023-05-30 15:20:08 +01:00
sunrpc
surface_aggregator
tc_act net: sched: Annotate struct tc_pedit with __counted_by 2024-02-19 10:58:24 +00:00
tc_ematch
usb USB: gadget: f_hid: Add GET_REPORT via userspace IOCTL 2024-08-22 17:25:59 +08:00
a.out.h
acct.h
acrn.h
adb.h
adfs_fs.h
affs_hardblocks.h block: change all __u32 annotations to __be32 in affs_hardblocks.h 2023-06-20 14:28:17 -06:00
agpgart.h
aio_abi.h
am437x-vpfe.h
amt.h
apm_bios.h
arcfb.h
arm_sdei.h
aspeed-lpc-ctrl.h
aspeed-p2a-ctrl.h
aspeed-video.h
atalk.h
atm.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h Move COMPAT_ATM_ADDPARTY to net/atm/svc.c 2023-03-10 21:05:16 +01:00
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h
auto_dev-ioctl.h autofs: use flexible array in ioctl structure 2023-05-30 16:42:00 -07:00
auto_fs.h
auto_fs4.h
auxvec.h uapi/auxvec: Define AT_HWCAP3 and AT_HWCAP4 aux vector, entries 2024-02-16 12:42:59 +11:00
ax25.h
batadv_packet.h batman-adv: mcast: implement multicast packet reception and forwarding 2023-11-14 08:16:34 +01:00
batman_adv.h
baycom.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
bits.h uapi: introduce uapi-friendly macros for GENMASK 2024-02-08 08:41:03 -05:00
blkpg.h
blktrace_api.h
blkzoned.h block: Fix a source code comment in include/uapi/linux/blkzoned.h 2023-07-24 20:11:54 -06:00
bpf.h bpf: Add CHECKSUM_COMPLETE to bpf test progs 2024-06-13 14:29:47 +02:00
bpf_common.h
bpf_perf_event.h
bpqether.h
bsg.h
bt-bmc.h
btf.h
btrfs.h btrfs: qgroup: validate btrfs_qgroup_inherit parameter 2024-03-05 17:13:24 +01:00
btrfs_tree.h btrfs: remove raid-stripe-tree encoding field from stripe_extent 2024-07-11 15:33:28 +02:00
cachefiles.h
can.h can: canxl: add virtual CAN network identifier support 2024-02-13 11:47:13 +01:00
capability.h capability: erase checker warnings about struct __user_cap_data_struct 2023-06-06 17:05:54 -04:00
capi.h
cciss_defs.h
cciss_ioctl.h
ccs.h
cdrom.h
cec-funcs.h
cec.h
cfm_bridge.h
cgroupstats.h cgroup: remove obsolete comment above struct cgroupstats 2023-07-14 08:43:49 -10:00
chio.h
close_range.h
cn_proc.h connector: Fix invalid conversion in cn_proc.h 2024-05-24 10:36:55 +01:00
coda.h
coff.h
comedi.h
connector.h
const.h uapi/linux/const.h: prefer ISO-friendly __typeof__ 2023-04-18 16:39:34 -07:00
coresight-stm.h
counter.h counter: chrdev: remove a typo in header file comment 2023-10-16 11:38:56 -04:00
cramfs_fs.h
cryptouser.h crypto: remove CONFIG_CRYPTO_STATS 2024-04-02 10:49:38 +08:00
cuda.h
cxl_mem.h cxl/mbox: Add Clear Log mailbox command 2024-04-30 08:48:10 -07:00
cyclades.h
cycx_cfm.h
dcbnl.h
dccp.h
devlink.h devlink: Support setting max_io_eqs 2024-04-08 14:10:45 +01:00
dlm.h dlm: introduce DLM_LSFL_SOFTIRQ_SAFE 2024-06-11 12:57:49 -05:00
dlm_device.h
dlm_plock.h fs: dlm: allow to F_SETLKW getting interrupted 2023-07-20 17:24:57 -05:00
dlmconstants.h fs: dlm: remove deprecated code parts 2023-03-06 15:49:07 -06:00
dm-ioctl.h dm: split discards further if target sets max_discard_granularity 2023-03-30 15:57:50 -04:00
dm-log-userspace.h
dma-buf.h
dma-heap.h dma-buf: align fd_flags and heap_flags with dma_heap_allocation_data 2024-06-05 14:52:15 +05:30
dns_resolver.h
dpll.h dpll: extend uapi by lock status error attribute 2024-02-01 15:39:44 +01:00
dqblk_xfs.h
dw100.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h binfmt_elf_fdpic: support 64-bit systems 2023-08-23 14:17:42 -07:00
elf.h arm64/ptrace: Expose FPMR via ptrace 2024-03-07 17:14:53 +00:00
errno.h
errqueue.h
erspan.h
ethtool.h net: phy: bcm54811: New link mode for BroadR-Reach 2024-07-14 20:38:34 -07:00
ethtool_netlink.h net: ethtool: Add new power limit get and set features 2024-07-05 18:30:00 -07:00
eventfd.h eventfd: add a uapi header for eventfd userspace APIs 2023-06-15 14:55:15 +02:00
eventpoll.h eventpoll: Add epoll ioctl for epoll_params 2024-02-14 11:01:01 +00:00
ext4.h ext4: Add a uapi header for ext4 userspace APIs 2023-04-19 23:39:42 -04:00
f2fs.h
fadvise.h
falloc.h
fanotify.h fanotify: Fix misspelling of "writable" 2024-03-06 13:13:05 +01:00
fb.h tty: vt: define a common enum for VESA blanking constants 2024-01-27 18:08:54 -08:00
fcntl.h fcntl: add F_DUPFD_QUERY fcntl() 2024-05-10 08:26:31 +02:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h
firewire-cdev.h firewire: fix warnings to generate UAPI documentation 2023-06-06 07:54:00 +09:00
firewire-constants.h
fou.h ynl: broaden the license even more 2023-03-16 21:20:32 -07:00
fpga-dfl.h
fs.h - 875fa64577da ("mm/hugetlb_vmemmap: fix race with speculative PFN 2024-07-21 17:15:46 -07:00
fscrypt.h fscrypt: support crypto data unit size less than filesystem block size 2023-09-25 22:34:33 -07:00
fsi.h fsi: sbefifo: Add configurable in-command timeout 2023-08-09 15:43:27 +09:30
fsl_hypervisor.h
fsl_mc.h
fsmap.h
fsverity.h
fuse.h fuse: Use the high bit of request ID for indicating resend requests 2024-03-06 09:56:35 +01:00
futex.h futex: Extend the FUTEX2 flags 2023-09-21 19:22:05 +02:00
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h
gpio.h gpio: uapi: clarify default_values being logical 2024-02-15 08:44:57 +01:00
gsmmux.h tty: n_gsm: add copyright Siemens Mobility GmbH 2023-10-27 09:21:13 +02:00
gtp.h gtp: add IPv6 support 2024-05-07 01:35:57 +02:00
handshake.h net/handshake: Enable the SNI extension to work properly 2023-05-24 22:05:24 -07:00
hash_info.h crypto: FIPS 202 SHA-3 register in hash info for IMA 2023-10-27 18:04:30 +08:00
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h Move bp_type_idx to include/linux/hw_breakpoint.h 2023-03-10 21:05:16 +01:00
hyperv.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h
icmp.h
icmpv6.h netfilter: conntrack: fix ct-state for ICMPv6 Multicast Router Discovery 2024-05-06 11:13:56 +02:00
idxd.h dmaengine: idxd: add wq driver name support for accel-config user tool 2023-10-04 13:00:34 +05:30
if.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h bridge: add MDB state mask uAPI attribute 2023-12-20 11:27:20 +00:00
if_cablemodem.h
if_eql.h
if_ether.h
if_fc.h
if_fddi.h
if_hippi.h
if_infiniband.h
if_link.h gtp: add IPv6 support 2024-05-07 01:35:57 +02:00
if_ltalk.h
if_macsec.h
if_packet.h af_packet: Fix fortified memcpy() without flex array. 2023-10-12 09:15:15 +02:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h uapi: team: use header file generated from YAML spec 2024-04-02 18:24:33 -07:00
if_tun.h
if_tunnel.h pfcp: always set pfcp metadata 2024-04-01 10:49:28 +01:00
if_vlan.h
if_x25.h
if_xdp.h xsk: Require XDP_UMEM_TX_METADATA_LEN to actuate tx_metadata_len 2024-07-25 11:57:27 +02:00
ife.h
igmp.h
ila.h
in.h net/smc: Introduce IPPROTO_SMC 2024-06-17 13:14:09 +01:00
in6.h uapi: in6: replace temporary label with rfc9486 2024-02-27 18:22:49 -08:00
in_route.h
inet_diag.h
inotify.h inotify: Fix misspelling of "writable" 2024-03-06 13:13:00 +01:00
input-event-codes.h input: Add support for "Do Not Disturb" 2024-06-07 11:08:07 +02:00
input.h
io_uring.h io_uring: fix user_data field name in comment 2024-08-16 12:31:26 -06:00
ioam6.h
ioam6_genl.h uapi: ioam6: API for netlink multicast events 2024-02-28 11:19:41 +00:00
ioam6_iptunnel.h
ioctl.h
iommufd.h iommufd: Put constants for all the uAPI enums 2024-07-15 09:44:54 -03:00
ioprio.h block: uapi: Fix compilation errors using ioprio.h with C++ 2023-08-15 10:06:49 -06:00
ip.h
ip6_tunnel.h
ip_vs.h
ipc.h
ipmi.h
ipmi_bmc.h
ipmi_msgdefs.h
ipmi_ssif_bmc.h
ipsec.h
ipv6.h net: change accept_ra_min_rtr_lft to affect all RA lifetimes 2023-07-28 13:30:51 -07:00
ipv6_route.h
irqnr.h
iso_fs.h
isst_if.h platform/x86: ISST: Add SST-TF support via TPMI 2023-03-16 15:18:02 +01:00
ivtv.h
ivtvfb.h
jffs2.h
joystick.h
kcm.h
kcmp.h
kcov.h
kd.h Revert "VT: Use macros to define ioctls" 2024-06-01 07:28:21 +02:00
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h crash: add a new kexec flag for hotplug support 2024-04-23 14:59:01 +10:00
keyboard.h
keyctl.h
kfd_ioctl.h drm/amdkfd: enable single alu ops for gfx12 2024-05-02 16:18:13 -04:00
kfd_sysfs.h drm/amdkfd: enable single alu ops for gfx12 2024-05-02 16:18:13 -04:00
kvm.h KVM x86 misc changes for 6.11 2024-07-16 09:53:05 -04:00
kvm_para.h
l2tp.h
landlock.h landlock: Various documentation improvements 2024-07-18 08:27:47 +02:00
libc-compat.h
limits.h
lirc.h
llc.h
loadpin.h
loop.h
lp.h
lsm.h evm: Move to LSM infrastructure 2024-02-15 23:43:47 -05:00
lwtunnel.h
magic.h bcachefs: Move BCACHEFS_STATFS_MAGIC value to UAPI magic.h 2024-05-08 17:29:24 -04:00
major.h
map_to_7segment.h
map_to_14segment.h
matroxfb.h
max2175.h
mctp.h net: mctp: provide a more specific tag allocation ioctl 2024-02-22 13:32:55 +01:00
mdio.h net: phy: Add BaseT1 auto-negotiation constants 2024-02-21 14:56:58 -08:00
media-bus-format.h media: uapi: Add generic serial metadata mbus formats 2024-04-29 14:56:36 +02:00
media.h media: uapi: Use unsigned int values for assigning bits in u32 fields 2023-05-25 16:21:22 +02:00
mei.h mei: fix spellos in mei.h 2023-12-15 17:01:30 +01:00
mei_uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
membarrier.h
memfd.h
mempolicy.h mm/mempolicy: introduce MPOL_WEIGHTED_INTERLEAVE for weighted interleaving 2024-02-22 10:24:46 -08:00
mii.h
minix_fs.h
mman.h mm: add MAP_DROPPABLE for designating always lazily freeable mappings 2024-07-19 20:22:12 +02:00
mmtimer.h
module.h
mount.h fs: export mount options via statmount() 2024-06-28 14:36:43 +02:00
mpls.h
mpls_iptunnel.h
mptcp.h mptcp: add last time fields in mptcp_info 2024-04-11 08:19:54 -07:00
mptcp_pm.h netlink: specs: mptcp: rename the MPTCP path management spec 2023-12-15 12:17:16 +00:00
mqueue.h
mroute.h
mroute6.h
mrp_bridge.h
msdos_fs.h
msg.h
mtio.h
nbd-netlink.h
nbd.h uapi nbd: add cookie alias to handle 2023-04-27 19:15:11 -06:00
ncsi.h
ndctl.h
neighbour.h
net.h
net_dropmon.h
net_namespace.h
net_tstamp.h net: partial revert of the "Make timestamping selectable: series 2023-11-18 18:42:37 -08:00
netconf.h
netdev.h netdev: add qstat for csum complete 2024-05-30 12:15:56 +02:00
netdevice.h
netfilter.h
netfilter_arp.h
netfilter_bridge.h
netfilter_ipv4.h
netfilter_ipv6.h
netlink.h netlink: add variable-length / auto integers 2023-10-20 11:43:35 +01:00
netlink_diag.h
netrom.h
nexthop.h net: nexthop: Expose nexthop group HW stats to user space 2024-03-08 10:35:47 +00:00
nfc.h
nfs.h NFS/knfsd: Remove the invalid NFS error 'NFSERR_OPNOTSUPP' 2024-05-06 12:47:24 -04:00
nfs2.h
nfs3.h
nfs4.h NFSv4: Detect support for OPEN4_SHARE_ACCESS_WANT_OPEN_XOR_DELEGATION 2024-07-08 13:47:25 -04:00
nfs4_mount.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfsacl.h
nfsd_netlink.h nfsd: new netlink ops to get/set server pool_mode 2024-07-08 14:10:05 -04:00
nilfs2_api.h
nilfs2_ondisk.h
nitro_enclaves.h
nl80211-vnd-intel.h
nl80211.h wifi: cfg80211: add support for advertising multiple radios belonging to a wiphy 2024-07-09 11:29:59 +02:00
npcm-video.h media: uapi: Add controls for NPCM video driver 2023-09-27 09:40:02 +02:00
nsfs.h nsfs: fix ioctl declaration 2024-08-12 22:03:26 +02:00
nsm.h misc: Add Nitro Secure Module driver 2023-11-28 19:05:16 +00:00
ntsync.h ntsync: Introduce NTSYNC_IOC_SEM_POST. 2024-04-11 15:34:40 +02:00
nubus.h
nvme_ioctl.h
nvram.h
omap3isp.h
omapfb.h
oom.h
openat2.h
openvswitch.h net: openvswitch: store sampling probability in cb. 2024-07-05 17:45:47 -07:00
packet_diag.h
papr_pdsm.h powerpc/papr_scm: Move duplicate definitions to common header files 2024-04-25 12:37:12 -07:00
param.h
parport.h ata: parport_pc: add 16-bit and 8-bit fast EPP transfer flags 2023-03-23 12:22:19 +09:00
patchkey.h
pci.h
pci_regs.h Merge branch 'pci/doe' 2024-05-16 18:14:09 -05:00
pcitest.h misc: pci_endpoint_test: Use INTX instead of LEGACY 2023-12-18 11:55:56 +01:00
perf_event.h perf/x86/intel: Support new data source for Lunar Lake 2024-07-04 16:00:38 +02:00
personality.h
pfkeyv2.h
pfrut.h
pg.h
phantom.h
phonet.h
pidfd.h pidfs: allow retrieval of namespace file descriptors 2024-06-28 10:37:29 +02:00
pkt_cls.h net/sched: cls_flower: rework TCA_FLOWER_KEY_ENC_FLAGS usage 2024-07-15 09:14:38 -07:00
pkt_sched.h net/sched: Remove uapi support for CBQ qdisc 2024-01-02 14:25:51 +00:00
pktcdvd.h pktcdvd: Get rid of custom printing macros 2023-06-07 14:26:09 -06:00
pmu.h
poll.h
posix_acl.h
posix_acl_xattr.h
posix_types.h
ppdev.h
ppp-comp.h
ppp-ioctl.h
ppp_defs.h
pps.h
pr.h
prctl.h RISC-V Patches for the 6.10 Merge Window, Part 1 2024-05-22 09:56:00 -07:00
psample.h net: psample: allow using rate as probability 2024-07-05 17:45:47 -07:00
psci.h
psp-dbc.h crypto: ccp - Add support for getting and setting DBC parameters 2023-07-20 22:14:21 +12:00
psp-sev.h KVM: SEV: uapi: fix typo in SEV_RET_INVALID_CONFIG 2024-08-14 13:05:42 -04:00
ptp_clock.h ptp: introduce PTP_CLOCK_EXTOFF event for the measured external offset 2024-01-29 13:00:23 +00:00
ptrace.h ptrace: Provide set/get interface for syscall user dispatch 2023-04-16 14:23:07 +02:00
qemu_fw_cfg.h
qnx4_fs.h
qnxtypes.h
qrtr.h
quota.h shmem: prepare shmem quota infrastructure 2023-08-09 09:15:39 +02:00
radeonfb.h
random.h random: note that RNDGETPOOL was removed in 2.6.9-rc2 2024-07-19 20:22:48 +02:00
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
remoteproc_cdev.h
resource.h uapi/linux/resource.h: fix include 2023-12-20 19:26:31 -05:00
rfkill.h
rio_cm_cdev.h
rio_mport_cdev.h
rkisp1-config.h media: rkisp1: Add version enum for i.MX8MP ISP 2024-02-23 14:23:23 +02:00
romfs_fs.h
rose.h
route.h
rpl.h
rpl_iptunnel.h
rpmsg.h rpmsg: char: Add RPMSG GET/SET FLOWCONTROL IOCTL support 2023-07-15 11:35:02 -07:00
rpmsg_types.h
rseq.h
rtc.h
rtnetlink.h ipv6: drop feature RTAX_FEATURE_ALLFRAG 2023-10-25 18:04:29 -07:00
rxrpc.h
scc.h
sched.h
scif_ioctl.h
screen_info.h
sctp.h sctp: add weighted fair queueing stream scheduler 2023-03-09 11:31:44 +01:00
seccomp.h seccomp: add the synchronous mode for seccomp_unotify 2023-07-17 16:08:08 -07:00
securebits.h
sed-opal.h block: sed-opal: keyring support for SED keys 2023-08-22 11:10:26 -06:00
seg6.h
seg6_genl.h
seg6_hmac.h
seg6_iptunnel.h
seg6_local.h
selinux_netlink.h
sem.h
serial.h tty: serial: Fix bit order in RS485 flag definitions 2024-01-27 18:15:24 -08:00
serial_core.h serial: add PORT_GENERIC definition 2023-10-10 08:51:10 +02:00
serial_reg.h serial: 8250_port: Introduce UART_IIR_FIFO_ENABLED_16750 2023-09-18 11:14:42 +02:00
serio.h
sev-guest.h KVM: SEV: Provide support for SNP_GUEST_REQUEST NAE event 2024-07-16 11:44:00 -04:00
shm.h
signal.h
signalfd.h
smc.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smc_diag.h net/smc: support extended GID in SMC-D lgr netlink attribute 2023-12-26 20:24:33 +00:00
smiapp.h
snmp.h xfrm: Add dir validation to "in" data path lookup 2024-05-01 10:06:27 +02:00
sock_diag.h
socket.h
sockios.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h fs: Add initial atomic write support info to statx 2024-06-20 15:19:17 -06:00
stddef.h uapi: stddef.h: Provide UAPI macros for __counted_by_{le, be} 2024-05-08 00:42:25 -07:00
stm.h
string.h
suspend_ioctls.h
swab.h
switchtec_ioctl.h
sync_file.h dma-buf/sync_file: Add SET_DEADLINE ioctl 2023-12-02 01:17:48 +02:00
synclink.h
sysctl.h
sysinfo.h
target_core_user.h scsi: target: uapi: Replace fake flex-array with flexible-array member 2023-03-24 16:59:09 -04:00
taskstats.h delayacct: track delays from IRQ/SOFTIRQ 2023-04-18 16:39:34 -07:00
tcp.h tcp: socket option to check for MPTCP fallback to TCP 2024-05-13 14:48:04 -07:00
tcp_metrics.h tcp_metrics: add netlink protocol spec in YAML 2024-07-01 09:44:27 +01:00
tdx-guest.h
tee.h tee: tstee: Add Trusted Services TEE driver 2024-04-03 14:03:09 +02:00
termios.h
thermal.h
thp7312.h media: uapi: Add controls for the THP7312 ISP 2023-12-04 10:37:46 +01:00
time.h
time_types.h
timerfd.h
times.h
timex.h
tiocl.h
tipc.h
tipc_config.h
tipc_netlink.h
tipc_sockets_diag.h
tls.h
toshiba.h
tps6594_pfsm.h misc: tps6594-pfsm: Add driver for TI TPS6594 PFSM 2023-06-15 13:41:53 +02:00
trace_mmap.h tracing: Have memmapped ring buffer use ioctl of "R" range 0x20-2F 2024-07-03 16:40:45 -04:00
tty.h
tty_flags.h
types.h types: Introduce [us]128 2023-06-05 09:36:35 +02:00
ublk_cmd.h ublk: add UBLK_CMD_DEL_DEV_ASYNC 2024-02-28 18:47:08 -07:00
udf_fs_i.h
udmabuf.h
udp.h udpencap: Remove Obsolete UDP_ENCAP_ESPINUDP_NON_IKE Support 2024-04-18 11:38:23 +02:00
uhid.h
uinput.h
uio.h
uleds.h
ultrasound.h
um_timetravel.h um: add shared memory optimisation for time-travel=ext 2024-07-03 12:24:54 +02:00
un.h
unistd.h
unix_diag.h
usbdevice_fs.h
usbip.h
user_events.h tracing/user_events: Introduce multi-format events 2024-03-18 10:13:03 -04:00
userfaultfd.h userfaultfd: UFFDIO_MOVE uABI 2023-12-29 11:58:24 -08:00
userio.h
utime.h
utsname.h
uuid.h mei: Move uuid.h to the MEI namespace 2023-03-23 17:25:46 +01:00
uvcvideo.h
v4l2-common.h
v4l2-controls.h media: v4l2-ctrls: Add average QP control 2024-06-10 10:24:30 +02:00
v4l2-dv-timings.h
v4l2-mediabus.h media: uapi: Document which mbus format fields are valid for metadata 2024-04-29 14:56:36 +02:00
v4l2-subdev.h media: v4l: subdev: Add len_routes field to struct v4l2_subdev_routing 2024-04-29 14:56:37 +02:00
vbox_err.h
vbox_vmmdev_types.h
vboxguest.h
vdpa.h vDPA: code clean for vhost_vdpa uapi 2024-04-22 17:07:13 -04:00
vduse.h
vesa.h tty: vt: define a common enum for VESA blanking constants 2024-01-27 18:08:54 -08:00
veth.h
vfio.h vfio/migration: Add debugfs to live migration driver 2023-12-04 14:29:08 -07:00
vfio_ccw.h
vfio_zdev.h
vhost.h vhost-vdpa: change ioctl # for VDPA_GET_VRING_SIZE 2024-04-08 04:11:04 -04:00
vhost_types.h vhost-vdpa: introduce IOTLB_PERSIST backend feature bit 2023-11-01 09:20:00 -04:00
videodev2.h media: uapi: Add PiSP Compressed RAW Bayer formats 2024-06-27 13:06:47 +02:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h virtio-blk: fix to match virtio spec 2023-04-04 11:01:57 -04:00
virtio_bt.h Bluetooth: HCI: Remove HCI_AMP support 2024-05-14 10:54:49 -04:00
virtio_config.h virtio: Define feature bit for administration virtqueue 2023-12-19 11:51:31 -07:00
virtio_console.h
virtio_crypto.h
virtio_fs.h
virtio_gpio.h
virtio_gpu.h drm/virtio: add definition for venus capset 2023-12-15 19:30:00 +03:00
virtio_i2c.h
virtio_ids.h
virtio_input.h
virtio_iommu.h
virtio_mem.h virtio-mem: support suspend+resume 2024-05-22 08:31:15 -04:00
virtio_mmio.h
virtio_net.h virtio_net: introduce device stats feature and structures 2024-04-30 10:51:32 +02:00
virtio_pci.h virtio: uapi: Drop __packed attribute in linux/virtio_pci.h 2024-03-19 02:45:49 -04:00
virtio_pcidev.h
virtio_pmem.h virtio_pmem: support feature SHMEM_REGION 2024-01-10 13:01:37 -05:00
virtio_ring.h
virtio_rng.h
virtio_scmi.h
virtio_scsi.h
virtio_snd.h ALSA: virtio: add support for audio controls 2024-02-09 14:01:15 +01:00
virtio_types.h
virtio_vsock.h
vm_sockets.h vsock: read from socket's error queue 2023-10-15 13:19:42 +01:00
vm_sockets_diag.h
vmcore.h
vsockmon.h
vt.h
vtpm_proxy.h
wait.h
watch_queue.h
watchdog.h
wireguard.h
wireless.h uapi: wireless: Replace zero-length array with flexible-array member 2023-05-28 19:07:48 -06:00
wmi.h
wwan.h
x25.h
xattr.h
xdp_diag.h
xfrm.h xfrm: support sending NAT keepalives in ESP in UDP states 2024-06-26 13:22:42 +02:00
xilinx-v4l2-controls.h
zorro.h
zorro_ids.h m68k: amiga: Turn off Warp1260 interrupts during boot 2024-06-04 08:59:58 +02:00