nuttx/drivers/usbhost
chao an 87f134cfaa sched/sleep: replace all Signal-based sleep implement to Scheduled sleep
Nuttx currently has 2 types of sleep interfaces:

1. Signal-scheduled sleep: nxsig_sleep() / nxsig_usleep() / nxsig_nanosleep()
Weaknesses:
a. Signal-dependent: The signal-scheduled sleep method is bound to the signal framework, while some driver sleep operations do not depend on signals.
b. Timespec conversion: Signal-scheduled sleep involves timespec conversion, which has a significant impact on performance.

2. Busy sleep: up_mdelay() / up_udelay()
Weaknesses:
a. Does not actively trigger scheduling, occupy the CPU loading.

3. New interfaces: Scheduled sleep: nxsched_sleep() / nxsched_usleep() / nxsched_msleep() / nxsched_ticksleep()
Strengths:
a. Does not depend on the signal framework.
b. Tick-based, without additional computational overhead.

Currently, the Nuttx driver framework extensively uses nxsig_* interfaces. However, the driver does not need to rely on signals or timespec conversion.
Therefore, a new set of APIs is added to reduce dependencies on other modules.

(This PR also aims to make signals optional, further reducing the code size of Nuttx.)

Signed-off-by: chao an <anchao.archer@bytedance.com>
2025-10-17 14:05:02 +08:00
..
CMakeLists.txt drivers/usbhost: Aligned Cmake with Make 2025-10-09 18:20:36 -04:00
hid_parser.c drivers/usbhost/hid_parser: migrate to SPDX identifier 2024-12-18 17:51:57 +08:00
Kconfig drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
Make.defs drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_bthci.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbhost_cdcacm.c drivers/usbhost: recognize sim usb cdcacm composite device 2025-03-05 10:11:29 +01:00
usbhost_cdcmbim.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_composite.c drivers/usbhost: recognize sim usb cdcacm composite device 2025-03-05 10:11:29 +01:00
usbhost_composite.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_devaddr.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_drivers.c usbhost: add common usb host waiter and drivers initialization 2025-05-15 21:58:57 +08:00
usbhost_enumerate.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_findclass.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_ft232r.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_hidkbd.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_hidmouse.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_hub.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_max3421e.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_registerclass.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_registry.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_registry.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_skeleton.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbhost_storage.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_trace.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usbhost_waiter.c usbhost: add common usb host waiter and drivers initialization 2025-05-15 21:58:57 +08:00
usbhost_xboxcontroller.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
usbhost_xhci.h drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_xhci_pci.c drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_xhci_trace.c drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00
usbhost_xhci_trace.h drivers/usbhost: add xHCI support 2025-05-15 21:58:57 +08:00