[U-Boot] [PATCH v2 42/48] fs: Kconfig: Add a separate option for FS_JFFS2

Simon Glass sjg at chromium.org
Tue May 16 23:39:02 UTC 2017


Rather than using CMD_JFFS2 for both the filesystem and its command, we
should have a separate option for each. This allows us to enable JFFS2
support without the command, if desired, which reduces U-Boot's size
slightly.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

Changes in v2: None

 cmd/Kconfig      | 1 +
 cmd/cramfs.c     | 4 ++--
 doc/README.JFFS2 | 3 +++
 fs/Makefile      | 2 +-
 fs/jffs2/Kconfig | 7 +++++++
 5 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/cmd/Kconfig b/cmd/Kconfig
index e4cb6c92b0..be6b314c26 100644
--- a/cmd/Kconfig
+++ b/cmd/Kconfig
@@ -1147,6 +1147,7 @@ config CMD_FS_UUID
 
 config CMD_JFFS2
 	bool "jffs2 command"
+	select FS_JFFS2
 	help
 	  Enables commands to support the JFFS2 (Journalling Flash File System
 	  version 2) filesystem. This enables fsload, ls and fsinfo which
diff --git a/cmd/cramfs.c b/cmd/cramfs.c
index 4e75de8f29..49ee36c74a 100644
--- a/cmd/cramfs.c
+++ b/cmd/cramfs.c
@@ -39,7 +39,7 @@
 # define OFFSET_ADJUSTMENT	(flash_info[id.num].start[0])
 #endif
 
-#ifndef CONFIG_CMD_JFFS2
+#ifndef CONFIG_FS_JFFS2
 #include <linux/stat.h>
 char *mkmodestr(unsigned long mode, char *str)
 {
@@ -70,7 +70,7 @@ char *mkmodestr(unsigned long mode, char *str)
 	str[10] = '\0';
 	return str;
 }
-#endif /* CONFIG_CMD_JFFS2 */
+#endif /* CONFIG_FS_JFFS2 */
 
 extern int cramfs_check (struct part_info *info);
 extern int cramfs_load (char *loadoffset, struct part_info *info, char *filename);
diff --git a/doc/README.JFFS2 b/doc/README.JFFS2
index 604e5b9686..0245da0488 100644
--- a/doc/README.JFFS2
+++ b/doc/README.JFFS2
@@ -10,6 +10,9 @@ fsinfo  - print information about file systems
 ls      - list files in a directory
 chpart  - change active partition
 
+If you do now need the commands, you can enable the filesystem separately
+with CONFIG_FS_JFFS2 and call the jffs2 functions yourself.
+
 If you boot from a partition which is mounted writable, and you
 update your boot environment by replacing single files on that
 partition, you should also define CONFIG_SYS_JFFS2_SORT_FRAGMENTS. Scanning
diff --git a/fs/Makefile b/fs/Makefile
index 5c90656ba1..5770f41c0b 100644
--- a/fs/Makefile
+++ b/fs/Makefile
@@ -16,7 +16,7 @@ obj-$(CONFIG_FS_CBFS) += cbfs/
 obj-$(CONFIG_CMD_CRAMFS) += cramfs/
 obj-$(CONFIG_FS_EXT4) += ext4/
 obj-y += fat/
-obj-$(CONFIG_CMD_JFFS2) += jffs2/
+obj-$(CONFIG_FS_JFFS2) += jffs2/
 obj-$(CONFIG_CMD_REISER) += reiserfs/
 obj-$(CONFIG_SANDBOX) += sandbox/
 obj-$(CONFIG_CMD_UBIFS) += ubifs/
diff --git a/fs/jffs2/Kconfig b/fs/jffs2/Kconfig
index e69de29bb2..1b9ecdd8cc 100644
--- a/fs/jffs2/Kconfig
+++ b/fs/jffs2/Kconfig
@@ -0,0 +1,7 @@
+config FS_JFFS2
+	bool "Enable JFFS2 filesystem support"
+	help
+	  This provides support for reading images from JFFS2 (Journalling
+	  Flash File System version 2). JFFS2 is a log-structured file system
+	  for use with flash memory devices. It supports raw NAND devices,
+	  hard links and compression.
-- 
2.13.0.303.g4ebf302169-goog



More information about the U-Boot mailing list