Browse Source

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>
Simon Glass 7 years ago
parent
commit
59e12a4a8c
5 changed files with 14 additions and 3 deletions
  1. 1 0
      cmd/Kconfig
  2. 2 2
      cmd/cramfs.c
  3. 3 0
      doc/README.JFFS2
  4. 1 1
      fs/Makefile
  5. 7 0
      fs/jffs2/Kconfig

+ 1 - 0
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

+ 2 - 2
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);

+ 3 - 0
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

+ 1 - 1
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/

+ 7 - 0
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.