walnux/drivers
jingfei c3e87dd3d1 drivers/fs: Control the behavior of FTL by passing oflags during the open process.
To save more space (equivalent to the size of one erase sector of
MTD device) and to achieve faster read and write speeds, a method
for direct writing was introduced at the FTL layer.
This can be accomplished simply by using the following oflags during
the open operation:

1. O_DIRECT. when this flag is passed in, ftl internally uses
   the direct write strategy and no read cache is used in ftl;
   otherwise, each write will be executed with the minimum
   granularity of flash erase sector size which means a
   "sector read back - erase sector - write sector" operation
   is performed by using a read cache buffer in heap.

2. O_SYNC. When this flag is passed in, we assume that the
   flash has been erased in advance and no erasure operation
   will be performed internally within ftl. O_SYNC will take
   effect only when both O_DIRECT and O_SYNC are passed in
   simultaneously.

3. For uniformity, we remapped the mount flag in mount.h and
   unified it with the open flag in fcntl.h. The repetitive
   parts of their definitions were reused, and the remaining
   part of the mount flag redefine to the unused bit of open
   flags.

Signed-off-by: jingfei <jingfei@xiaomi.com>
2025-07-16 14:11:41 +08:00
..
1wire drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
aie drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
analog drivers/analog/ads1115.h: Add ioctl for conversion trigger 2025-07-14 10:22:33 -04:00
audio style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
bch drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
can style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
clk style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
contactless drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
coresight arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
crypto crypto/se05x: Allow set_enable_pin to be NULL and fix error handling 2024-11-07 11:37:58 +08:00
devicetree style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
dma drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
dummy drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
eeprom drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
efuse drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
i2c fs/drivers: Avoid causing a busy loop in the program due to context switching induced by sem_post. 2025-03-17 10:44:26 +01:00
i2s drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
i3c style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
input drivers/input: Create Single Button Multi Actions 2025-07-15 18:39:59 -03:00
ioexpander style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
ipcc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
lcd drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
leds drivers/leds: Add support for KTD2052 2025-07-07 09:49:51 -03:00
loop drivers/iovec: revert vector io implement from loop/null/zero driver 2025-01-22 11:29:39 +08:00
math drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
misc driver/optee: fix compile break 2025-06-13 20:14:48 +08:00
mmcsd style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
modem drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
motor style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
mtd drivers/fs: Control the behavior of FTL by passing oflags during the open process. 2025-07-16 14:11:41 +08:00
net drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
note note/notestream: Call lib_fileoutstream_open in notefile_register 2025-06-17 20:58:13 +08:00
pci drivers/net: add IGB network card support 2025-07-08 10:02:15 +02:00
pinctrl drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
pipes fs/drivers: Avoid causing a busy loop in the program due to context switching induced by sem_post. 2025-03-17 10:44:26 +01:00
power drivers: unify Private Types banners 2025-05-28 10:17:15 +08:00
rc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
regmap style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
reset style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rf drivers/rf: migrate license to ASF 2024-11-06 19:46:13 +08:00
rmt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
rpmsg style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
rptun style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
segger drivers/segger/CMakeLists.txt: Aligned Cmake with Make 2025-06-25 22:20:39 +08:00
sensors /drivers/sensors/nau7802: Added frequency control 2025-07-15 09:39:57 +08:00
serial drivers/serial: fix the issue of the refs count for filep being zeroed out by utilizing dup2 2025-06-26 09:31:14 -03:00
spi style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
syslog drivers/syslog: Add RFC 5424 protocol support 2025-06-13 20:26:57 +08:00
thermal style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
timers arch: Flag all definitions of up_perf_* functions with CONFIG_ARCH_HAVE_PERF_EVENTS 2025-06-06 17:31:10 +08:00
usbdev drivers/usbdev/cdcncm.c: Fix issue with unplug/replug of USB causing link not to re-establish 2025-05-24 12:29:07 +08:00
usbhost style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbmisc style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
usbmonitor drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
usrsock drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
vhost style: fix spelling in code comments and strings 2025-05-23 10:48:41 +08:00
video arch | boards | drivers: fix whitespace issues for switch case statements 2025-05-23 10:48:41 +08:00
virtio kasan: kasan_reset_tag rename kasan_clear_tag 2025-06-30 18:19:38 +08:00
wireless Remove minread para in btuart_read. 2025-07-01 09:06:43 -03:00
.gitignore build: Remve the unnecessary .gitignore 2020-05-23 18:00:40 +01:00
CMakeLists.txt drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00
drivers_initialize.c usbhost: add common usb host waiter and drivers initialization 2025-05-15 21:58:57 +08:00
Kconfig AI engine driver 2024-10-16 13:57:23 +08:00
Makefile drivers: migrate to SPDX identifier 2024-11-06 18:02:25 +08:00