twx-linux/include/uapi/linux
Robert Baldyga 1b0bf88fd8 usb: gadget: f_fs: virtual endpoint address mapping
This patch introduces virtual endpoint address mapping. It separates
function logic form physical endpoint addresses making it more hardware
independent.

Following modifications changes user space API, so to enable them user
have to switch on the FUNCTIONFS_VIRTUAL_ADDR flag in descriptors.

Endpoints are now refered using virtual endpoint addresses chosen by
user in endpoint descpriptors. This applies to each context when endpoint
address can be used:
- when accessing endpoint files in FunctionFS filesystemi (in file name),
- in setup requests directed to specific endpoint (in wIndex field),
- in descriptors returned by FUNCTIONFS_ENDPOINT_DESC ioctl.

In endpoint file names the endpoint address number is formatted as
double-digit hexadecimal value ("ep%02x") which has few advantages -
it is easy to parse, allows to easly recognize endpoint direction basing
on its name (IN endpoint number starts with digit 8, and OUT with 0)
which can be useful for debugging purpose, and it makes easier to introduce
further features allowing to use each endpoint number in both directions
to have more endpoints available for function if hardware supports this
(for example we could have ep01 which is endpoint 1 with OUT direction,
and ep81 which is endpoint 1 with IN direction).

Physical endpoint address can be still obtained using ioctl named
FUNCTIONFS_ENDPOINT_REVMAP, but now it's not neccesary to handle
USB transactions properly.

Signed-off-by: Robert Baldyga <r.baldyga@samsung.com>
Acked-by: Michal Nazarewicz <mina86@mina86.com>
Signed-off-by: Felipe Balbi <balbi@ti.com>
2014-09-16 09:58:21 -05:00
..
byteorder
caif
can can: netlink: Add CAN_CTRLMODE_PRESUME_ACK flag 2014-07-15 09:34:19 +02:00
cifs
dvb
genwqe GenWQE: Add sysfs interface for bitstream reload 2014-07-09 14:14:27 -07:00
hdlc
hsi
isdn
mmc
netfilter net: filter: split 'struct sk_filter' into socket and bpf parts 2014-08-02 15:03:58 -07:00
netfilter_arp
netfilter_bridge netfilter: kill ulog targets 2014-06-25 19:28:43 +02:00
netfilter_ipv4 netfilter: kill ulog targets 2014-06-25 19:28:43 +02:00
netfilter_ipv6
nfsd nfsd: clean up fh_auth usage 2014-05-08 12:43:03 -04:00
raid
spi
sunrpc
tc_act
tc_ematch
usb usb: gadget: f_fs: virtual endpoint address mapping 2014-09-16 09:58:21 -05:00
wimax
a.out.h
acct.h
adb.h
adfs_fs.h
affs_hardblocks.h
agpgart.h
aio_abi.h
apm_bios.h
arcfb.h
atalk.h
atm_eni.h
atm_he.h
atm_idt77105.h
atm_nicstar.h
atm_tcp.h
atm_zatm.h
atm.h
atmapi.h
atmarp.h
atmbr2684.h
atmclip.h
atmdev.h
atmioc.h
atmlec.h
atmmpc.h
atmppp.h
atmsap.h
atmsvc.h
audit.h arm64: Add audit support 2014-07-10 11:06:00 +01:00
auto_fs4.h
auto_fs.h
auxvec.h
ax25.h
b1lli.h
baycom.h
bcache.h
bcm933xx_hcs.h
bfs_fs.h
binfmts.h
blkpg.h
blktrace_api.h
bpqether.h
bsg.h block SG_IO: add SG_FLAG_Q_AT_HEAD flag 2014-07-01 10:48:05 -06:00
btrfs.h btrfs: create sprout should rename fsid on the sysfs as well 2014-06-28 13:48:44 -07:00
can.h can: unify identifiers to ensure unique include processing 2014-05-19 09:38:24 +02:00
capability.h audit: add netlink audit protocol bind to check capabilities on multicast join 2014-04-22 21:42:27 -04:00
capi.h isdn: capi: fix "CAPI_VERSION" comment 2014-03-20 14:55:18 +01:00
cciss_defs.h
cciss_ioctl.h
cdrom.h
cgroupstats.h
chio.h
cm4000_cs.h
cn_proc.h
coda_psdev.h
coda.h
coff.h
connector.h
const.h
cramfs_fs.h
cuda.h
cyclades.h
cycx_cfm.h
dcbnl.h dcbnl : Fix misleading dcb_app->priority explanation 2014-07-30 17:21:05 -07:00
dccp.h
dlm_device.h
dlm_netlink.h
dlm_plock.h
dlm.h
dlmconstants.h
dm-ioctl.h
dm-log-userspace.h
dn.h
dqblk_xfs.h
edd.h
efs_fs_sb.h
elf-em.h
elf-fdpic.h
elf.h
elfcore.h
errno.h
errqueue.h net-timestamp: ACK timestamp for bytestreams 2014-08-05 16:35:54 -07:00
ethtool.h ethtool: Improve explanation of the two arrays following struct ethtool_rxfh 2014-05-19 01:19:30 +01:00
eventpoll.h
fadvise.h
falloc.h fs: Introduce FALLOC_FL_ZERO_RANGE flag for fallocate 2014-03-13 19:07:42 +11:00
fanotify.h
fb.h
fcntl.h shm: add sealing API 2014-08-08 15:57:31 -07:00
fd.h
fdreg.h
fib_rules.h
fiemap.h
filter.h filter: added BPF random opcode 2014-04-22 21:27:57 -04:00
firewire-cdev.h
firewire-constants.h
flat.h
fs.h vfs: add cross-rename 2014-04-01 17:08:43 +02:00
fsl_hypervisor.h
fuse.h fuse: add FUSE_NO_OPEN_SUPPORT flag to INIT 2014-07-22 16:37:43 +02:00
futex.h
gameport.h
gen_stats.h
genetlink.h
gfs2_ondisk.h GFS2: remove transaction glock 2014-05-14 10:04:34 +01:00
gigaset_dev.h
hash_info.h
hdlc.h
hdlcdrv.h
hdreg.h
hid.h
hiddev.h
hidraw.h
hpet.h
hsr_netlink.h
hw_breakpoint.h
hyperv.h Tools: hv: Handle the case when the target file exists correctly 2014-04-16 14:10:36 -07:00
hysdn_if.h
i2c-dev.h
i2c.h
i2o-dev.h
i8k.h i8k: uapi: Introduce define for new highest fan speed 2014-07-09 16:41:36 -07:00
icmp.h
icmpv6.h
if_addr.h
if_addrlabel.h
if_alg.h
if_arcnet.h
if_arp.h
if_bonding.h
if_bridge.h
if_cablemodem.h
if_eql.h
if_ether.h ether: add loopback type ETH_P_LOOPBACK 2014-03-14 22:20:57 -04:00
if_fc.h
if_fddi.h FDDI: Reformat <linux/if_fddi.h> for 8-character tabs 2014-04-27 19:08:06 -04:00
if_frad.h
if_hippi.h
if_infiniband.h
if_link.h ipv6: addrconf: implement address generation modes 2014-07-11 15:05:45 -07:00
if_ltalk.h
if_packet.h packet: remove deprecated syststamp timestamp 2014-07-29 11:39:50 -07:00
if_phonet.h
if_plip.h
if_ppp.h
if_pppol2tp.h
if_pppox.h
if_slip.h
if_team.h
if_tun.h
if_tunnel.h ip_vti: fix sparse warnings for VTI_ISVTI 2014-06-11 15:39:19 -07:00
if_vlan.h
if_x25.h
if.h
igmp.h
in6.h net: reallocate new socket option number for IPV6_AUTOFLOWLABEL 2014-08-06 15:25:01 -07:00
in_route.h
in.h
inet_diag.h
inotify.h
input.h Input: add INPUT_PROP_POINTING_STICK property 2014-09-08 14:58:11 -07:00
ioctl.h
ip6_tunnel.h
ip_vs.h
ip.h
ipc.h
ipmi_msgdefs.h
ipmi.h
ipsec.h
ipv6_route.h
ipv6.h ipv6: Allow accepting RA from local IP addresses. 2014-07-01 12:16:24 -07:00
ipx.h
irda.h
irqnr.h
isdn_divertif.h
isdn_ppp.h
isdn.h
isdnif.h
iso_fs.h
ivtv.h
ivtvfb.h
ixjuser.h
jffs2.h
joystick.h
Kbuild USB fixes for 3.17-rc5 2014-09-12 11:59:10 -07:00
kd.h
kdev_t.h
kernel-page-flags.h
kernel.h
kernelcapi.h
kexec.h kexec: implementation of new syscall kexec_file_load 2014-08-08 15:57:32 -07:00
keyboard.h
keyctl.h
kvm_para.h MIPS: Add functions for hypervisor call 2014-05-30 21:01:11 +02:00
kvm.h Patch queue for ppc - 2014-08-01 2014-08-05 09:58:11 +02:00
l2tp.h l2tp: Add support for zero IPv6 checksums 2014-05-23 16:28:53 -04:00
libc-compat.h xattr: guard against simultaneous glibc header inclusion 2014-04-03 16:21:06 -07:00
limits.h
llc.h
loop.h
lp.h
magic.h
major.h
map_to_7segment.h
matroxfb.h
mdio.h
media.h
mei.h
memfd.h shm: add memfd_create() syscall 2014-08-08 15:57:31 -07:00
mempolicy.h
meye.h
mic_common.h
mic_ioctl.h
mii.h
minix_fs.h
mman.h
mmtimer.h
module.h
mpls.h UAPI: add MPLS label stack definition 2014-03-04 13:51:06 -05:00
mqueue.h
mroute6.h
mroute.h
msdos_fs.h
msg.h
mtio.h
n_r3964.h
nbd.h
ncp_fs.h
ncp_mount.h
ncp_no.h
ncp.h
neighbour.h bridge: Add bridge ifindex to bridge fdb notify msgs 2014-06-02 17:58:55 -07:00
net_dropmon.h
net_tstamp.h net-timestamp: ACK timestamp for bytestreams 2014-08-05 16:35:54 -07:00
net.h
netconf.h
netdevice.h net: add name_assign_type netdev attribute 2014-07-15 16:12:01 -07:00
netfilter_arp.h
netfilter_bridge.h
netfilter_decnet.h
netfilter_ipv4.h
netfilter_ipv6.h
netfilter.h
netlink_diag.h
netlink.h
netrom.h
nfc.h NFC: Add RAW socket type support for SOCKPROTO_RAW 2014-05-20 00:06:04 +02:00
nfs2.h
nfs3.h
nfs4_mount.h
nfs4.h
nfs_fs.h
nfs_idmap.h
nfs_mount.h
nfs.h
nfsacl.h
nl80211.h cfg80211: pass TDLS initiator in tdls_mgmt operations 2014-06-23 14:24:55 +02:00
nubus.h
nvme.h NVMe: Define Log Page constants 2014-06-13 10:53:49 -04:00
nvram.h
omap3isp.h
omapfb.h
oom.h
openvswitch.h openvswitch: Allow each vport to have an array of 'port_id's. 2014-07-24 01:15:04 -07:00
packet_diag.h
param.h
parport.h
patchkey.h
pci_regs.h
pci.h
perf_event.h perf: Pass protection and flags bits through mmap2 interface 2014-06-09 12:21:04 +02:00
personality.h
pfkeyv2.h
pg.h
phantom.h
phonet.h
pkt_cls.h
pkt_sched.h
pktcdvd.h
pmu.h
poll.h
posix_types.h
ppdev.h
ppp_defs.h
ppp-comp.h
ppp-ioctl.h
pps.h
prctl.h mm, thp: add VM_INIT_DEF_MASK and PRCTL_THP_DISABLE 2014-04-07 16:35:52 -07:00
psci.h ARM/ARM64: KVM: Add common header for PSCI related defines 2014-04-30 04:18:57 -07:00
ptp_clock.h ptp: introduce programmable pins. 2014-03-21 14:21:13 -04:00
ptrace.h
qnx4_fs.h
qnxtypes.h
quota.h
radeonfb.h
random.h random: introduce getrandom(2) system call 2014-08-05 16:41:22 -04:00
raw.h
rds.h
reboot.h
reiserfs_fs.h
reiserfs_xattr.h
resource.h
rfkill.h
romfs_fs.h
rose.h
route.h
rtc.h
rtnetlink.h
scc.h
sched.h
screen_info.h
sctp.h net: sctp: implement rfc6458, 8.1.31. SCTP_DEFAULT_SNDINFO support 2014-07-16 14:40:04 -07:00
sdla.h
seccomp.h seccomp: implement SECCOMP_FILTER_FLAG_TSYNC 2014-07-18 12:13:40 -07:00
securebits.h
selinux_netlink.h
sem.h
serial_core.h serial: sc16is7xx 2014-04-25 10:08:48 -07:00
serial_reg.h serial/uart/8250: Add tunable RX interrupt trigger I/F of FIFO buffers 2014-07-17 18:23:35 -07:00
serial.h
serio.h Input: add support for Wacom protocol 4 serial tablets 2014-07-20 14:33:23 -07:00
shm.h ipc,shm: document new limits in the uapi header 2014-06-06 16:08:14 -07:00
signal.h
signalfd.h
snmp.h
sock_diag.h
socket.h
sockios.h
som.h
sonet.h
sonypi.h
sound.h
soundcard.h
stat.h
stddef.h
string.h
suspend_ioctls.h
swab.h
synclink.h
sysctl.h ipv6: Allow accepting RA from local IP addresses. 2014-07-01 12:16:24 -07:00
sysinfo.h
taskstats.h
tcp_metrics.h
tcp.h
telephony.h
termios.h
time.h
times.h
timex.h
tiocl.h
tipc_config.h tipc: bump max configurable window size 2014-06-25 18:03:41 -07:00
tipc.h tipc: add ioctl to fetch link names 2014-04-26 12:13:24 -04:00
toshiba.h
tty_flags.h
tty.h
types.h
udf_fs_i.h
udp.h net: Make enabling of zero UDP6 csums more restrictive 2014-05-23 16:28:53 -04:00
uhid.h HID: uhid: Add UHID_CREATE2 + UHID_INPUT2 2014-04-01 18:27:33 +02:00
uinput.h Input: uinput - add UI_GET_VERSION ioctl 2014-07-21 14:30:42 -07:00
uio.h
ultrasound.h
un.h
unistd.h
unix_diag.h
usbdevice_fs.h usbfs: Add support for allocating / freeing streams 2014-03-04 15:38:05 -08:00
usbip.h usbip: move usbip kernel code out of staging 2014-08-25 10:40:06 -07:00
utime.h
utsname.h
uuid.h
uvcvideo.h
v4l2-common.h [media] v4l2-common.h: remove __user annotation in struct v4l2_edid 2014-04-16 18:20:02 -03:00
v4l2-controls.h [media] v4l2-ctrls: add RX RDS controls 2014-07-25 19:27:51 -03:00
v4l2-dv-timings.h [media] v4l2-dv-timings.h: add CEA-861-F 4K timings 2014-04-16 18:27:08 -03:00
v4l2-mediabus.h [media] v4l: Add 12-bit YUV 4:2:2 media bus pixel codes 2014-05-13 13:48:29 -03:00
v4l2-subdev.h [media] v4l: Add support for DV timings ioctls on subdev nodes 2014-05-25 12:47:55 -03:00
veth.h
vfio.h drivers/vfio: EEH support for VFIO PCI device 2014-08-05 15:28:48 +10:00
vhost.h
videodev2.h [media] v4l2-ctrls: add new RDS TX controls 2014-07-25 19:26:14 -03:00
virtio_9p.h
virtio_balloon.h
virtio_blk.h include/uapi/linux/virtio_blk.h: introduce feature of VIRTIO_BLK_F_MQ 2014-07-01 10:51:01 -06:00
virtio_config.h
virtio_console.h
virtio_ids.h
virtio_net.h
virtio_pci.h
virtio_ring.h
virtio_rng.h
vm_sockets.h
vsp1.h
vt.h
wait.h
wanrouter.h
watchdog.h
wimax.h
wireless.h
x25.h
xattr.h xattr: fix check for simultaneous glibc header inclusion 2014-08-29 16:28:16 -07:00
xfrm.h xfrm: rename struct xfrm_filter 2014-03-07 08:12:37 +01:00
zorro_ids.h
zorro.h