summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDamien George <damien.p.george@gmail.com>2019-10-30 12:08:58 +1100
committerDamien George <damien.p.george@gmail.com>2019-10-30 12:08:58 +1100
commit660a61a38830b67cb4f2b6f921d1db60f51c41a4 (patch)
tree44eba7c4436297563fdec8dd2bc46c0888420727
parent323d47887f0e407b6560a5957ea934049e70d2aa (diff)
extmod/vfs_lfs: Allow compiling in VfsLfs1 and VfsLfs2 separately.
These classes are enabled via the config options MICROPY_VFS_LFS1 and MICROPY_VFS_LFS2, which are disabled by default.
-rw-r--r--extmod/extmod.mk15
-rw-r--r--extmod/vfs_lfs.c12
-rw-r--r--ports/unix/Makefile2
-rw-r--r--ports/unix/moduos_vfs.c4
4 files changed, 25 insertions, 8 deletions
diff --git a/extmod/extmod.mk b/extmod/extmod.mk
index 8e63b25f9..e714b6028 100644
--- a/extmod/extmod.mk
+++ b/extmod/extmod.mk
@@ -6,14 +6,21 @@ CFLAGS_MOD += -DFFCONF_H=\"lib/oofatfs/ffconf.h\"
################################################################################
# VFS littlefs
-ifeq ($(MICROPY_VFS_LFS),1)
-CFLAGS_MOD += -DMICROPY_VFS_LFS=1
-CFLAGS_MOD += -DLFS1_NO_MALLOC -DLFS1_NO_DEBUG -DLFS1_NO_WARN -DLFS1_NO_ERROR -DLFS1_NO_ASSERT
-CFLAGS_MOD += -DLFS2_NO_MALLOC -DLFS2_NO_DEBUG -DLFS2_NO_WARN -DLFS2_NO_ERROR -DLFS2_NO_ASSERT
LITTLEFS_DIR = lib/littlefs
+
+ifeq ($(MICROPY_VFS_LFS1),1)
+CFLAGS_MOD += -DMICROPY_VFS_LFS1=1
+CFLAGS_MOD += -DLFS1_NO_MALLOC -DLFS1_NO_DEBUG -DLFS1_NO_WARN -DLFS1_NO_ERROR -DLFS1_NO_ASSERT
SRC_MOD += $(addprefix $(LITTLEFS_DIR)/,\
lfs1.c \
lfs1_util.c \
+ )
+endif
+
+ifeq ($(MICROPY_VFS_LFS2),1)
+CFLAGS_MOD += -DMICROPY_VFS_LFS2=1
+CFLAGS_MOD += -DLFS2_NO_MALLOC -DLFS2_NO_DEBUG -DLFS2_NO_WARN -DLFS2_NO_ERROR -DLFS2_NO_ASSERT
+SRC_MOD += $(addprefix $(LITTLEFS_DIR)/,\
lfs2.c \
lfs2_util.c \
)
diff --git a/extmod/vfs_lfs.c b/extmod/vfs_lfs.c
index 72f501abb..d77684998 100644
--- a/extmod/vfs_lfs.c
+++ b/extmod/vfs_lfs.c
@@ -28,7 +28,7 @@
#include "extmod/vfs.h"
#include "extmod/vfs_lfs.h"
-#if MICROPY_VFS && MICROPY_VFS_LFS
+#if MICROPY_VFS && (MICROPY_VFS_LFS1 || MICROPY_VFS_LFS2)
enum { LFS_MAKE_ARG_bdev, LFS_MAKE_ARG_readsize, LFS_MAKE_ARG_progsize, LFS_MAKE_ARG_lookahead };
@@ -39,6 +39,8 @@ static const mp_arg_t lfs_make_allowed_args[] = {
{ MP_QSTR_lookahead, MP_ARG_KW_ONLY | MP_ARG_INT, {.u_int = 32} },
};
+#if MICROPY_VFS_LFS1
+
#include "lib/littlefs/lfs1.h"
#define LFS_BUILD_VERSION (1)
@@ -81,6 +83,10 @@ mp_obj_t mp_vfs_lfs1_file_open(mp_obj_t self_in, mp_obj_t path_in, mp_obj_t mode
#undef MP_TYPE_VFS_LFSx
#undef MP_TYPE_VFS_LFSx_
+#endif // MICROPY_VFS_LFS1
+
+#if MICROPY_VFS_LFS2
+
#include "lib/littlefs/lfs2.h"
#define LFS_BUILD_VERSION (2)
@@ -114,4 +120,6 @@ mp_obj_t mp_vfs_lfs2_file_open(mp_obj_t self_in, mp_obj_t path_in, mp_obj_t mode
#include "extmod/vfs_lfsx.c"
#include "extmod/vfs_lfsx_file.c"
-#endif // MICROPY_VFS && MICROPY_VFS_LFS
+#endif // MICROPY_VFS_LFS2
+
+#endif // MICROPY_VFS && (MICROPY_VFS_LFS1 || MICROPY_VFS_LFS2)
diff --git a/ports/unix/Makefile b/ports/unix/Makefile
index 5a21bd6b2..9a4453261 100644
--- a/ports/unix/Makefile
+++ b/ports/unix/Makefile
@@ -257,7 +257,7 @@ coverage:
-Wold-style-definition -Wpointer-arith -Wshadow -Wuninitialized -Wunused-parameter \
-DMICROPY_UNIX_COVERAGE' \
LDFLAGS_EXTRA='-fprofile-arcs -ftest-coverage' \
- MICROPY_VFS_LFS=1 \
+ MICROPY_VFS_LFS1=1 MICROPY_VFS_LFS2=1 \
FROZEN_MANIFEST=manifest_coverage.py \
BUILD=build-coverage PROG=micropython_coverage
diff --git a/ports/unix/moduos_vfs.c b/ports/unix/moduos_vfs.c
index 7abd0d150..7f38e6a8e 100644
--- a/ports/unix/moduos_vfs.c
+++ b/ports/unix/moduos_vfs.c
@@ -72,8 +72,10 @@ STATIC const mp_rom_map_elem_t uos_vfs_module_globals_table[] = {
#if MICROPY_VFS_FAT
{ MP_ROM_QSTR(MP_QSTR_VfsFat), MP_ROM_PTR(&mp_fat_vfs_type) },
#endif
- #if MICROPY_VFS_LFS
+ #if MICROPY_VFS_LFS1
{ MP_ROM_QSTR(MP_QSTR_VfsLfs1), MP_ROM_PTR(&mp_type_vfs_lfs1) },
+ #endif
+ #if MICROPY_VFS_LFS2
{ MP_ROM_QSTR(MP_QSTR_VfsLfs2), MP_ROM_PTR(&mp_type_vfs_lfs2) },
#endif
};