nuttx/include
Justin Hammond 572b7a0b55 usbhost: Report what a hub is on the port it occupies.
Some host controllers must be told about the hubs in a topology, not only
about the device at the end of it.  xHCI is one: a hub's slot context
carries a hub flag, its downstream port count and the think time of its
transaction translator, and the controller routes to anything behind that
hub using them.

The hub class driver already reads both values from the hub descriptor and
keeps them privately.  Publish them on the hub's own hub port, beside the
speed and function address that already describe the device attached
there.  A driver setting up a device behind a hub finds them on that
device's parent.

They are written before the hub activates any downstream port, so they are
in place before there is anything behind it, and a port with no hub
reports zero ports because the hub class clears each child before use.
Nothing is required to read them.

Fields rather than a driver method: a method would need a null check at
the call site and would define an order it must be called in.  Both are
inside CONFIG_USBHOST_HUB, as struct usbhost_hubport_s's parent pointer
already is.

Multi-TT is not included; it comes from the hub's interface protocol
rather than its descriptor, and driving a multi-TT hub as single-TT costs
bandwidth behind it but is correct.

Assisted-by: Claude:claude-opus-5
Signed-off-by: Justin Hammond <justin@dynam.ac>
2026-09-28 21:45:57 +08:00
..
android
arpa
crypto crypto: add CRYPTO_AES_CTR_SSH variant (128-bit big-endian counter) 2026-07-16 15:42:10 +08:00
cxx include/cxx/{cstdlib,cmath}: Provide std::abs overloads 2026-08-24 12:04:30 +08:00
net arch/arm/src/imxrt: Unify FlexCAN TX work and add SIOCGCANERRORS. 2026-09-01 17:40:47 +08:00
netinet arch/arm/stm32h7: do not log the frames of packet sockets as unknown. 2026-09-23 08:21:59 +02:00
netpacket
nuttx usbhost: Report what a hub is on the port it occupies. 2026-09-28 21:45:57 +08:00
ssp
sys include/sys/socket.h: add SCM_TIMESTAMPNS and SCM_TIMESTAMPING macros 2026-09-18 20:00:49 +08:00
.gitignore ci: add stdbit.h test 2026-06-29 14:44:17 +02:00
aio.h aio: make the lio_listio() prototype match POSIX 2026-09-14 17:12:49 -03:00
alloca.h
assert.h
byteswap.h
ctype.h
debug.h style: fix checkpatch issues after debug.h move 2026-04-07 07:50:06 -03:00
dirent.h fs/dirent: add d_ino member to struct dirent 2026-06-26 10:45:33 -04:00
dlfcn.h
dsp.h libs/libdsp: Add Matrix operations 2026-07-11 14:55:59 -03:00
dspb16.h
elf.h libs/libc/elf: Read the dynamic tags an FDPIC object needs. 2026-09-08 16:31:16 -03:00
elf32.h
elf64.h
endian.h
err.h
errno.h include/errno.h: skip set_errno in interrupt context 2026-05-03 17:23:40 -03:00
execinfo.h
fcntl.h !include/fcntl.h: align open flags with Linux values 2026-06-30 13:43:44 +08:00
fixedmath.h !compiler: drop CONFIG_HAVE_LONG_LONG and require long long support 2026-05-19 16:21:28 +08:00
fnmatch.h
ftw.h
gcov.h
getopt.h
glob.h
grp.h libc/grp: add getgrouplist() 2026-06-23 23:09:22 +08:00
hex2bin.h
iconv.h
ifaddrs.h
imx_container.h
inttypes.h !sched/clock: remove CONFIG_SYSTEM_TIME64 and always use 64-bit time 2026-05-19 16:21:28 +08:00
iso646.h
langinfo.h
libgen.h
libintl.h
limits.h fs/aio: add configurable AIO_LISTIO_MAX limit 2026-09-14 17:12:49 -03:00
locale.h
lzf.h lzf: prevent lzf header struct optimization 2026-02-13 11:58:50 +01:00
malloc.h
mqueue.h
netdb.h
nl_types.h
nxflat.h !arch/arm: Use r9 as the PIC base register. 2026-08-06 01:38:23 +08:00
obstack.h
paths.h libc: add paths.h, sys/ttydefaults.h and termios IUTF8 2026-09-15 14:51:15 +02:00
poll.h
pthread.h include/pthread : initialize wait_count in PTHREAD_COND_INITIALIZER 2026-06-16 19:12:30 -03:00
pty.h
pwd.h
regex.h
resolv.h
sched.h
search.h
semaphore.h
shadow.h
signal.h sched/pthread: Implement pthread_sigqueue 2026-09-21 14:53:26 +08:00
spawn.h sched/spawn: Fix MISRA C 2012 Rule 10.4 violations 2026-02-02 20:39:36 +08:00
stdbool.h
stddef.h !compiler: drop CONFIG_HAVE_LONG_LONG and require long long support 2026-05-19 16:21:28 +08:00
stdint.h
stdio.h
stdlib.h fs/binfmt: close symlink TOCTOU and harden setuid/setgid exec hygiene 2026-08-01 15:32:03 -03:00
stdnoreturn.h
string.h include/string.h: mark memset and memcpy as used_code 2026-02-12 13:19:06 -05:00
strings.h !compiler: drop CONFIG_HAVE_LONG_LONG and require long long support 2026-05-19 16:21:28 +08:00
syscall.h
syslog.h
termios.h libc: add paths.h, sys/ttydefaults.h and termios IUTF8 2026-09-15 14:51:15 +02:00
threads.h
time.h
ulimit.h
unistd.h fs: add chroot() syscall 2026-09-20 22:27:38 +08:00
utime.h
uuid.h
wait.h
wchar.h
wctype.h