nuttx/arch/arm/src/lc823450
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
..
chip.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Kconfig Fix Kconfig style 2023-12-09 13:44:46 -08:00
lc823450_adc.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lc823450_adc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_allocateheap2.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_clockconfig.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_clockconfig.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_cpuidlestack.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_cpuindex.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_cpustart.c arch: Remove the abuse of spinlock in smp boot 2025-01-31 23:19:44 +08:00
lc823450_dma.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lc823450_dma.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_dvfs2.c use small lock in: 2024-12-23 15:01:08 +08:00
lc823450_dvfs2.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_gpio.c arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
lc823450_gpio.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_i2c.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
lc823450_i2c.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_i2s.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
lc823450_i2s.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_idle.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_intc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_ipl2.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
lc823450_irq.c arch/init: call up_color_intstack before up_irq_enable 2025-10-14 17:42:01 +08:00
lc823450_lowputc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_lowputc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_mmcl.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_mmcl.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_mpuinit2.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_mpuinit2.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_mtd.c [nxstyle]: fix Inconsistency in function headers style 2025-05-19 20:20:46 +08:00
lc823450_mtd.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_procfs_dvfs.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_pwm.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_rtc.c lc823450_rtc: use small lock in arch/arm/src/lc823450/lc823450_rtc.c 2024-12-17 13:59:07 +08:00
lc823450_sdc.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_sdc.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_sddrv_dep.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
lc823450_sddrv_if.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_sddrv_type.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_serial.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lc823450_serial.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_smpcall.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_spi.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_spi.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lc823450_spifi2.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_spifi2.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_start.c arch/arm: Fix crash when using memcpy/memset as RAMFUNCS 2025-03-27 02:17:14 +08:00
lc823450_start.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_symbols.ld arch/arm: migrate to SPDX identifier 2024-12-18 17:51:57 +08:00
lc823450_syscontrol.c use small lock in following files: 2024-12-23 23:02:26 +08:00
lc823450_syscontrol.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_testset.c mem barrier: use UP_DMP UP_DSP as barriers standard API 2025-01-20 20:13:07 +08:00
lc823450_timer.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lc823450_timer.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_usbdev.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
lc823450_usbdev.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_userspace.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_userspace.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_wdt.c arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
lc823450_wdt.h arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00
Make.defs arch/arm: migrate to SPDX identifier 2024-12-06 09:25:23 +08:00