nuttx/drivers/mtd
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
..
.gitignore drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
at24xx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
at25.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
at25ee.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
at45db.c driver/mtd/at45db.c: write to page without built-in erase 2025-03-26 10:29:12 +08:00
cfi.c drivers/mtd: cfi-flash driver 2025-02-11 17:23:44 +08:00
cfi.h drivers/mtd: cfi-flash driver 2025-02-11 17:23:44 +08:00
CMakeLists.txt drivers/mtd/CMakeLists.txt: Aligned Cmake with Make 2025-10-09 08:31:01 +08:00
dhara.c Use lib_get_pathbuffer instead of stack variables 2024-11-12 17:21:42 +08:00
filemtd.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ftl.c drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
gd5f.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
gd25.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
gd55.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
hamming.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
is25xp.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
Kconfig drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
m25px.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
Make.defs drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
mtd_cfi.c drivers/mtd/mtd_cfi: Add MTDIOC_ERASESTATE 2025-03-28 19:19:35 +08:00
mtd_config.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_config_fs.c mtd/nvs: Save events if not waited 2025-09-10 10:54:39 -03:00
mtd_modeltab.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nand.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandecc.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandmodel.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandram.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandscheme.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_nandwrapper.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_onfi.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mtd_partition.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_progmem.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
mtd_rwbuffer.c drivers/mtd: fix compile warning 2025-06-03 17:33:14 +08:00
mx25lx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
mx25rxx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
mx35.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
n25qxxx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
nullmtd.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
nvblk.c drivers/mtd: introduce nvblk 2025-08-06 01:53:56 +08:00
rammtd.c rammtd:add rammtd_uninitialize 2024-11-12 14:58:01 +08:00
ramtron.c driver/mtd: ramtron multi-device spi bus support 2025-03-26 19:26:01 +08:00
rpmsgmtd.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rpmsgmtd.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsgmtd_server.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
s25fl1.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
sector512.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
skeleton.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
smart.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
sst25.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
sst25xx.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
sst26.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
sst39vf.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
w25.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
w25qxxxjv.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00