nuttx/wireless/bluetooth
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
..
bt_atomic.h arch_atomic: only support atomic_xx and atomic64_xx function 2024-12-04 14:03:14 +01:00
bt_att.c Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_att.h wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_buf.c bt_buf: use small lock in wireless/bluetooth/bt_buf.c 2024-12-18 18:11:08 +08:00
bt_buf.h wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_conn.c Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_conn.h Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_gatt.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_hcicore.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
bt_hcicore.h bluetooth: set bt_driver_register/unregister to xx_set/unset 2024-10-17 18:09:32 +08:00
bt_ioctl.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_ioctl.h wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_keys.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_keys.h Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_l2cap.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_l2cap.h wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_netdev.c bluetooth: miss carrier_[on/off] in bt_netdev 2025-02-10 09:01:03 +01:00
bt_queue.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_queue.h wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_services.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
bt_smp.c Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_smp.h Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
bt_uuid.c wireless: migrate to SPDX identifier 2024-09-11 19:49:34 +08:00
CMakeLists.txt bt_atomic: use atomic macro to replace wireless/bluetooth/bt_atomic.c 2024-12-04 13:54:45 +08:00
Kconfig Bluetooth SMP: added support for Legacy pairing (MITM) with passkey 2025-05-28 21:49:08 +08:00
Make.defs bt_atomic: use atomic macro to replace wireless/bluetooth/bt_atomic.c 2024-12-04 13:54:45 +08:00