nuttx/drivers/net
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
..
oa_tc6 drivers/net/oa_tc6: Add driver for the Microchip LAN865x SPI MAC-PHY 2025-09-03 00:53:03 +08:00
CMakeLists.txt net/mdio: add mdio bus 2025-09-25 16:24:18 +08:00
dm90x0.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
e1000.c drivers/net/{e1000|igc}: align descriptors to 8 2025-07-03 21:57:02 +08:00
e1000.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
enc28j60.c Remove duplicate includes across multiple files 2025-01-09 23:30:23 +08:00
enc28j60.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
encx24j600.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
encx24j600.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ftmac100.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
igb.c drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
igb.h drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
igc.c drivers/net/{e1000|igc}: align descriptors to 8 2025-07-03 21:57:02 +08:00
igc.h style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
Kconfig net/mdio: add mdio bus 2025-09-25 16:24:18 +08:00
ksz9477.c drivers/net/ksz9477.c: Errata 16, reset SGMII always on init 2025-08-26 09:10:43 -03:00
ksz9477_i2c.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
ksz9477_reg.h drivers/net/ksz9477.c: Errata 16, reset SGMII always on init 2025-08-26 09:10:43 -03:00
lan91c111.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
lan91c111.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
lan9250.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lan9250.h drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
loopback.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
Make.defs net/mdio: add mdio bus 2025-09-25 16:24:18 +08:00
mdio.c net/mdio: add mdio bus 2025-09-25 16:24:18 +08:00
netdev_upperhalf.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
phy_notify.c drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsgdrv.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
slip.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
telnet.c fs/file: unify prefix about file_xxx api, like file_open, file_ioctl 2025-06-12 18:12:42 +08:00
tun.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
w5500.c sched/sleep: replace all Signal-based sleep implement to Scheduled sleep 2025-10-17 14:05:02 +08:00
wifi_sim.c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00