fs/littlefs: Add a kconfig to override littlefs version

Hopefully, It's more user-friendly than the current method,
which is just an overridable make variable. It would also help
to make some features (and their associated local patches)
conditional on littlefs version in future.

Also, update CMakeLists.txt to use the same littlefs version as Makefile.
This commit is contained in:
YAMAMOTO Takashi
2024-11-22 16:22:28 +09:00
committed by Xiang Xiao
parent 0413d74f31
commit 72a8764ea8
3 changed files with 9 additions and 5 deletions
+1 -2
View File
@@ -22,11 +22,10 @@
if(CONFIG_FS_LITTLEFS) if(CONFIG_FS_LITTLEFS)
if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/littlefs) if(NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/littlefs)
set(LITTLEFS_VERSION 2.4.0)
FetchContent_Declare( FetchContent_Declare(
littlefs littlefs
URL https://github.com/ARMmbed/littlefs/archive/v${LITTLEFS_VERSION}.tar.gz URL https://github.com/ARMmbed/littlefs/archive/v${CONFIG_FS_LITTLEFS_VERSION}.tar.gz
SOURCE_DIR SOURCE_DIR
${CMAKE_CURRENT_LIST_DIR}/littlefs ${CMAKE_CURRENT_LIST_DIR}/littlefs
BINARY_DIR BINARY_DIR
+6
View File
@@ -127,4 +127,10 @@ config FS_LITTLEFS_ATTR_UPDATE
---help--- ---help---
Enable support for attributes when create a file. Enable support for attributes when create a file.
config FS_LITTLEFS_VERSION
string "LITTLEFS version to use"
default "2.5.1"
---help---
The LITTLEFS version to use.
endif endif
+2 -3
View File
@@ -47,15 +47,14 @@ CFLAGS += -DLFS_NAME_MAX=$(CONFIG_FS_LITTLEFS_NAME_MAX)
CFLAGS += -DLFS_FILE_MAX=$(CONFIG_FS_LITTLEFS_FILE_MAX) CFLAGS += -DLFS_FILE_MAX=$(CONFIG_FS_LITTLEFS_FILE_MAX)
CFLAGS += -DLFS_ATTR_MAX=$(CONFIG_FS_LITTLEFS_ATTR_MAX) CFLAGS += -DLFS_ATTR_MAX=$(CONFIG_FS_LITTLEFS_ATTR_MAX)
LITTLEFS_VERSION ?= 2.5.1 LITTLEFS_TARBALL = v$(CONFIG_FS_LITTLEFS_VERSION).tar.gz
LITTLEFS_TARBALL = v$(LITTLEFS_VERSION).tar.gz
$(LITTLEFS_TARBALL): $(LITTLEFS_TARBALL):
$(call DOWNLOAD,https://github.com/ARMmbed/littlefs/archive,$(LITTLEFS_TARBALL),littlefs/$(LITTLEFS_TARBALL)) $(call DOWNLOAD,https://github.com/ARMmbed/littlefs/archive,$(LITTLEFS_TARBALL),littlefs/$(LITTLEFS_TARBALL))
.littlefsunpack: $(LITTLEFS_TARBALL) .littlefsunpack: $(LITTLEFS_TARBALL)
$(Q) tar zxf littlefs/$(LITTLEFS_TARBALL) -C littlefs $(Q) tar zxf littlefs/$(LITTLEFS_TARBALL) -C littlefs
$(Q) mv littlefs/littlefs-$(LITTLEFS_VERSION) littlefs/littlefs $(Q) mv littlefs/littlefs-$(CONFIG_FS_LITTLEFS_VERSION) littlefs/littlefs
$(Q) git apply littlefs/lfs_util.patch $(Q) git apply littlefs/lfs_util.patch
$(Q) git apply littlefs/lfs_getpath.patch $(Q) git apply littlefs/lfs_getpath.patch
$(Q) git apply littlefs/lfs_getsetattr.patch $(Q) git apply littlefs/lfs_getsetattr.patch