[PATCH rtems6 - v2 00/16] Overwork flashdev
berndmoessner80 at gmail.com
berndmoessner80 at gmail.com
Sun Jan 7 18:18:34 UTC 2024
From: Bernd Moessner <berndmoessner80 at gmail.com>
Hi,
here`s the revised patch set.
Patches 1-5 have not been disputed and are therefore untouched.
I only added the issue reference to the comment line.
I`ve choosen to not rename "min. write block size" and "region". In
addition to that I kept the "region" mechanics i.e. having only
set and unset. Calling set two times still updates the current region.
Nevertheless there is a lot of refactoring wrt. aligning
IOCTL and function names / making their names a bit more descriptive
by adding "GET/get" where appropriate.
Apart from that:
* Some bugfixes like the wrong address computation when returing
from read / write (happened only in case a region is set)
* As Kinsey recommended I`ve added the information on the erase block
size to the page info instead of creating a new IOCTL.
* The region create and update command now check if the region is
aligned to the erase block size.
* The write function checks if address / length are aligned to min.
write block size (if it is !=0)
We still need Aaron for review, but the API change is much smaller in
this patch set compared to the previous one. Therefore, I hope we can
resolve this issue soon.
Regards
Bernd
Bernd Moessner (16):
flashdev.h: Add missing C++ include guards
flashdev: Unify IOCTL macro names
flashdev: Align IOCTL function and macro names
flashdev: Align IOCTL and shell function names
flashdev: Add missing default case
flashdev.c: return error in case neither read nor write buffer was
provided
flashdev: fix wrong offset assignment
flashdev: add function to deregister and update test case
flashdev: Refactor RTEMS_FLASHDEV_IOCTL_GET_WRITE_BLOCK_SIZE
flashdev testsuite: Allow testsuite to set the min. write block size
flashdev testsuite: allow page size and count to be set from testcase
flashdev: Add erase info to page info
flashdev: erase function must take erase size and alignment into
account
flashdev: create region only if it is aligned to erase size
flashdev: Refactor IOCTL defines into enum
flashdev: disallow writes that do not match alignment / req. length
cpukit/dev/flash/flashdev.c | 196 +++++++++----
cpukit/include/dev/flash/flashdev.h | 88 ++++--
cpukit/libmisc/shell/main_flashdev.c | 83 +++---
testsuites/libtests/flashdev01/init.c | 269 +++++++++++++-----
.../libtests/flashdev01/test_flashdev.c | 161 ++++++++---
.../libtests/flashdev01/test_flashdev.h | 9 +-
6 files changed, 580 insertions(+), 226 deletions(-)
--
2.34.1
More information about the devel
mailing list