nuttx/include/sys
wangjianyu3 4775b36316 drivers/usbdev: add UVC gadget class driver
Add USB Video Class 1.1 gadget driver supporting Bulk transport
with uncompressed YUY2 video streaming. Resolution and frame
interval are negotiated dynamically via PROBE/COMMIT control.

- uvc.h: protocol constants, streaming control struct, public API
- uvc.c: class driver with PROBE/COMMIT, bulk EP, /dev/uvc0 chardev
- Kconfig/Make.defs: USBUVC config and build rules
- boardctl.c: BOARDIOC_USBDEV_UVC standalone init path

Hardened against host disconnect:
- Removed nxmutex_lock from USB interrupt context paths
- Added 30s semaphore timeout in uvc_write with EP_CANCEL fallback
- Drain stale wrsem counts in VS_COMMIT before new stream
- Guard uvc_streaming_stop() against double EP_CANCEL race
- Handle EP_SUBMIT returning -ESHUTDOWN gracefully

Signed-off-by: wangjianyu3 <wangjianyu3@xiaomi.com>
2026-03-29 12:35:22 -03:00
..
boardctl.h drivers/usbdev: add UVC gadget class driver 2026-03-29 12:35:22 -03:00
custom_file.h
endian.h
epoll.h
eventfd.h
fcntl.h fcntl: add sys/fcntl.h header file 2024-12-20 11:46:14 -03:00
file.h
gmon.h
inotify.h
ioctl.h sys/ioctl: extend the IOCTL defintion that compatible with linux kernel 2026-01-14 09:39:51 +08:00
ipc.h
mman.h
mount.h drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
msg.h
param.h arm: systick: fix off-by-one in SysTick RELOAD programming 2026-01-26 19:34:00 +08:00
pciio.h
poll.h fs/poll: remove poll_fdsetup 2025-05-26 18:49:45 +08:00
prctl.h
queue.h
random.h
resource.h sys/resouce: add RLIM_NLIMITS definition 2026-01-15 16:08:23 -03:00
select.h
sem.h sem: add sys/sem.h header file 2024-12-20 11:46:14 -03:00
sendfile.h
shm.h
signal.h signal: add include/sys/signal.h to the signal 2024-12-20 11:46:14 -03:00
signalfd.h
socket.h net: make the sendmsg param type consistent with posix specification 2026-01-16 21:11:39 +08:00
sockio.h
stat.h
statfs.h
statvfs.h
syscall.h
syscall_lookup.h syscall: add sched_note_event_ip syscall for instrumentation dump 2026-01-28 02:06:23 +08:00
sysinfo.h
sysmacros.h
time.h syscall/adjtime: fix minior issue about adjtime and add clock_adjtime to syscall 2025-12-30 10:22:09 -03:00
timerfd.h fs/timerfd: implement TFD_TIMER_CANCEL_ON_SET to detect clock changes 2026-01-30 17:20:24 +08:00
times.h
timex.h sched/clock: support using CLOCKFD to call clock_adjtime 2025-12-30 10:22:09 -03:00
tree.h
types.h sys/types.h: Fixed the conflict issue with the "OK" constant definition 2026-01-16 16:16:21 +08:00
uio.h
un.h
utsname.h
vfs.h
video_controls.h
videoio.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
wait.h sys/wait: add WCOREDUMP defintion 2026-01-15 23:16:27 +08:00