nuttx/drivers/audio
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
..
audio_dma.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
audio_fake.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
audio_i2s.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
audio_null.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
CMakeLists.txt drivers/audio/CMakeLists.txt: Aligned Cmake with Make 2025-08-21 13:22:26 +08:00
cs43l22.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
cs43l22.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
cs43l22_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
cs4344.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
cs4344.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8311.c drivers/audio/es8311: set proper format specifier for logging 2025-02-28 10:46:20 +01:00
es8311.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8311_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8388.c drivers/audio/es8388: set proper format specifier macro for logging 2025-03-01 06:37:30 -03:00
es8388.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
es8388_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
esxxxx_common.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
Kconfig nuttx/audio: add fake audio driver. 2024-12-20 11:47:08 -03:00
Make.defs nuttx/audio: add fake audio driver. 2024-12-20 11:47:08 -03:00
tone.c Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
vs1053.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
vs1053.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8776.c wm8776: use small lock in drivers/audio/wm8776.c 2024-12-05 21:22:32 +08:00
wm8776.h wm8776: use small lock in drivers/audio/wm8776.c 2024-12-05 21:22:32 +08:00
wm8904.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
wm8904.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8904_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
wm8994.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
wm8994.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
wm8994_debug.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00