walnux/drivers/serial
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
..
CMakeLists.txt drivers/serial/CMakeLists.txt: add missing files 2024-10-05 23:40:11 +08:00
Kconfig serial/gdbstub:Adjust serial port gdbstub Kconfig dependencies 2024-10-24 08:45:21 +08:00
Kconfig-16550 drivers/serial: Add 16550_DLF_SIZE option for DesignWare UART. 2024-10-10 02:38:12 +08:00
Kconfig-cmsdk drivers/serial:support arm cmsdk drivers 2024-04-26 18:42:35 -03:00
Kconfig-lpuart Add initial support for NXP S32K3 MCU family 2022-07-25 23:47:05 +08:00
Kconfig-pci drivers: add UART 16550 compatible PCI device support 2024-09-15 03:37:58 +08:00
Kconfig-pl011 drivers/serial/uart_pl011.c : add the interface about clock and reset control for reducing power consumption. 2024-06-03 21:18:44 +08:00
Kconfig-sci
Kconfig-uart
Kconfig-usart
Make.defs serial: use hostfs read/write on stdio as uart 2024-09-28 13:53:06 +08:00
ptmx.c pty: use mutex to protect alloc minor 2024-08-25 22:16:53 +08:00
pty.c move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
pty.h Replace nxsem API when used as a lock with nxmutex API 2022-10-17 15:59:46 +09:00
serial.c move readv/writev to the kernel 2024-10-30 17:07:54 +08:00
serial_cmsdk.c driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
serial_dma.c serial: use nxsig_tgkill instead of nxsig_kill 2024-10-12 09:30:37 +08:00
serial_gdbstub.c gdbstub: support the use of recvbuf and sendbuf 2024-10-09 15:41:48 +08:00
serial_io.c serial: use nxsig_tgkill instead of nxsig_kill 2024-10-12 09:30:37 +08:00
uart_16550.c driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
uart_bth4.c serial: use dev references count make sure the driver only opened once 2024-10-17 18:09:32 +08:00
uart_bth5.c bluetooth:add bth5 with btslip and bth4 2024-10-17 18:09:32 +08:00
uart_hostfs.c driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
uart_pci_16550.c driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
uart_pl011.c driver/serial: remove return value of up_putc() 2024-10-26 13:21:29 +08:00
uart_ram.c drivers/serial: add ram uart driver 2023-09-19 09:41:07 +08:00
uart_rpmsg.c rpmsg services: should release the tx buffer when rpmsg_send_nocopy failed 2024-10-08 18:26:39 +08:00