From: Simon Glass <sjg@chromium.org>
Date: Wed, 17 May 2017 09:25:38 +0000 (-0600)
Subject: fs: Kconfig: Add a separate option for FS_JFFS2
X-Git-Tag: v2025.01-rc5-pxa1908~6822
X-Git-Url: http://git.dujemihanovic.xyz/img/%22http:/www.sics.se/static/gitweb.css?a=commitdiff_plain;h=59e12a4a8c219c4a334a2c2023edd1aa20f82a9e;p=u-boot.git

fs: Kconfig: Add a separate option for FS_JFFS2

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@chromium.org>
---

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.