nuttx-mirror/drivers
YAMAMOTO Takashi 761ee81956 move readv/writev to the kernel
currently, nuttx implements readv/writev on the top of read/write.
while it might work for the simplest cases, it's broken by design.
for example, it's impossible to make it work correctly for files
which need to preserve data boundaries without allocating a single
contiguous buffer. (udp socket, some character devices, etc)

this change is a start of the migration to a better design.
that is, implement read/write on the top of readv/writev.

to avoid a single huge change, following things will NOT be done in
this commit:

* fix actual bugs caused by the original readv-based-on-read design.
  (cf. https://github.com/apache/nuttx/pull/12674)

* adapt filesystems/drivers to actually benefit from the new interface.
  (except a few trivial examples)

* eventually retire the old interface.

* retire read/write syscalls. implement them in libc instead.

* pread/pwrite/preadv/pwritev (except the introduction of struct uio,
  which is a preparation to back these variations with the new
  interface.)
2024-10-30 17:07:54 +08:00
..
1wire nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
aie nuttx ai driver update 2024-10-17 22:35:40 +08:00
analog Fix Kconfig style 2024-10-22 23:20:46 +08:00
audio audio: update audio null driver 2024-10-07 13:33:34 +08:00
bch move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
can Fix Kconfig style 2024-10-22 23:20:46 +08:00
clk MacOs: fix the sim compile warning in MacOS 2024-10-22 08:55:57 +08:00
contactless nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
coresight drivers/coresight:Add TRFCR_EL1 initialization 2024-10-09 08:37:48 +08:00
crypto libc: Refine the arc4random_buf implementation 2024-10-26 18:04:21 -03:00
devicetree pci: fix compile failed, fdt_get_reg_base() need 3 args 2024-10-09 02:18:49 +08:00
dma Nuttx/dma: add dma framework for nuttx 2023-04-22 01:02:51 +08:00
dummy build: add initial cmake build system 2023-07-08 13:50:48 +08:00
eeprom nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
efuse nuttx: use lib_free for memory de-allocation after strdup or asprintf 2023-08-08 11:58:29 -03:00
i2c move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
i2s nuttx: use sizeof instead of define or number in snprintf 2024-08-25 19:22:15 +08:00
i3c move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
input move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
ioexpander nuttx/drivers: add ept_release_cb for destroy server resource 2024-10-10 08:44:29 +08:00
ipcc driver: Post sempahore only when it's value is smaller than one 2024-10-13 02:12:01 +08:00
lcd move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
leds drivers/leds/ws2812: Fix WS2812 pixel size 2023-12-24 16:38:06 -08:00
loop move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
math math/mpi: add mpi driver in math 2023-10-17 13:43:43 +08:00
misc move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
mmcsd mmcsd: SDIO_CAPS_4BIT_ONLY set buswidth MMCSD_SCR_BUSWIDTH_4BIT 2024-10-24 18:06:22 +08:00
modem drivers/modem/alt1250: Fix issue where the program would get stuck 2024-09-24 20:00:21 +08:00
motor Fix allocated memory test 2024-06-28 09:30:42 +02:00
mtd mtd/nvs: Trigger recovery process in nvs_startup 2024-10-13 03:10:19 +08:00
net e1000: add polling mode support for tx/rx 2024-10-08 13:15:31 +02:00
note drivers/note:add the poll function for noteram 2024-10-13 14:05:50 +08:00
pci move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
pinctrl driver/pinctl: add pinctrl framework 2024-09-17 02:25:47 +08:00
pipes move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
power cmake: add newly added sources to cmake 2024-10-14 17:19:45 +08:00
rc circbuf: Move from mm/circbuf to libs/libc/misc 2024-10-09 08:41:49 +08:00
regmap drivers/regmap: add exit function interface. 2024-08-27 21:43:58 +08:00
reset nuttx/drivers: add ept_release_cb for destroy server resource 2024-10-10 08:44:29 +08:00
rf build: add initial cmake build system 2023-07-08 13:50:48 +08:00
rmt circbuf: Move from mm/circbuf to libs/libc/misc 2024-10-09 08:41:49 +08:00
rpmsg container_of: fix compile failed cause of list.h not support container_of 2024-10-23 20:10:43 +08:00
rptun container_of: fix compile failed cause of list.h not support container_of 2024-10-23 20:10:43 +08:00
segger drivers/segger: inline note_sysview_get_timestamp 2024-10-14 17:03:57 +02:00
sensors move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
serial move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
spi move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
syslog driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
thermal cmake:add driver thermal CMake scripts 2024-10-13 02:25:06 +08:00
timers move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
usbdev Fix cdcncm printf formatter compiler warning 2024-10-25 00:52:29 +08:00
usbhost nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
usbmisc nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
usbmonitor nuttx: fix multiple 'FAR', 'CODE' and style issues 2024-08-25 19:22:15 +08:00
usrsock nuttx/drivers: add ept_release_cb for destroy server resource 2024-10-10 08:44:29 +08:00
vhost libc: Refine the arc4random_buf implementation 2024-10-26 18:04:21 -03:00
video move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
virtio move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
wireless bluetooth: fix bt missing header files nuttx/wqueue.h 2024-10-23 20:10:43 +08:00
.gitignore build: Remve the unnecessary .gitignore 2020-05-23 18:00:40 +01:00
CMakeLists.txt build: add initial cmake build system 2023-07-08 13:50:48 +08:00
drivers_initialize.c drivers/vhost: add vhost framework for NuttX 2024-10-03 17:37:40 +08:00
Kconfig AI engine driver 2024-10-16 13:57:23 +08:00
Makefile AI engine driver 2024-10-16 13:57:23 +08:00