diff options
| -rw-r--r-- | README | 4 | ||||
| -rw-r--r-- | doc/README.ext4 | 13 | ||||
| -rw-r--r-- | fs/ext4/Makefile | 7 | ||||
| -rw-r--r-- | fs/ext4/ext4_common.c | 2 | ||||
| -rw-r--r-- | fs/ext4/ext4_common.h | 4 | ||||
| -rw-r--r-- | fs/ext4/ext4fs.c | 2 | ||||
| -rw-r--r-- | fs/fat/Makefile | 4 | ||||
| -rw-r--r-- | include/config_fallbacks.h | 13 | ||||
| -rw-r--r-- | include/ext4fs.h | 2 | 
9 files changed, 38 insertions, 13 deletions
| @@ -807,9 +807,11 @@ The following options need to be configured:  		CONFIG_CMD_EEPROM	* EEPROM read/write support  		CONFIG_CMD_ELF		* bootelf, bootvx  		CONFIG_CMD_EXPORTENV	* export the environment +		CONFIG_CMD_EXT2		* ext2 command support +		CONFIG_CMD_EXT4		* ext4 command support  		CONFIG_CMD_SAVEENV	  saveenv  		CONFIG_CMD_FDC		* Floppy Disk Support -		CONFIG_CMD_FAT		* FAT partition support +		CONFIG_CMD_FAT		* FAT command support  		CONFIG_CMD_FDOS		* Dos diskette Support  		CONFIG_CMD_FLASH	  flinfo, erase, protect  		CONFIG_CMD_FPGA		  FPGA device initialization support diff --git a/doc/README.ext4 b/doc/README.ext4 index b3ea8b776..b7d0ad393 100644 --- a/doc/README.ext4 +++ b/doc/README.ext4 @@ -1,15 +1,28 @@  This patch series adds support for ext4 ls,load and write features in uboot  Journaling is supported for write feature. +To enable support for the ext4 (and ext2) filesystem implementation, +#define CONFIG_FS_EXT4 + +If you want write support, +#define CONFIG_EXT4_WRITE +  To Enable ext2 ls and load commands, modify the board specific config file with  #define CONFIG_CMD_EXT2 +This automatically defines CONFIG_FS_EXT4 for you.  To Enable ext4 ls and load commands, modify the board specific config file with  #define CONFIG_CMD_EXT4 +This automatically defines CONFIG_FS_EXT4 for you.  To enable ext4 write command, modify the board specific config file with  #define CONFIG_CMD_EXT4  #define CONFIG_CMD_EXT4_WRITE +These automatically define CONFIG_FS_EXT4 and CONFIG_EXT4_WRITE for you. + +Also relevant are the generic filesystem commands, +#define CONFIG_CMD_FS_GENERIC +This does not automatically enable EXT4 support for you.  Steps to test: diff --git a/fs/ext4/Makefile b/fs/ext4/Makefile index 82cd9ae16..bb801f905 100644 --- a/fs/ext4/Makefile +++ b/fs/ext4/Makefile @@ -30,11 +30,8 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)libext4fs.o  AOBJS	= -COBJS-$(CONFIG_CMD_EXT4) := ext4fs.o ext4_common.o dev.o -ifndef CONFIG_CMD_EXT4 -COBJS-$(CONFIG_CMD_EXT2) := ext4fs.o ext4_common.o dev.o -endif -COBJS-$(CONFIG_CMD_EXT4_WRITE) += ext4_journal.o crc16.o +COBJS-$(CONFIG_FS_EXT4) := ext4fs.o ext4_common.o dev.o +COBJS-$(CONFIG_EXT4_WRITE) += ext4_journal.o crc16.o  SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c)  OBJS	:= $(addprefix $(obj),$(AOBJS) $(COBJS-y)) diff --git a/fs/ext4/ext4_common.c b/fs/ext4/ext4_common.c index d6d55b9ff..323875fa9 100644 --- a/fs/ext4/ext4_common.c +++ b/fs/ext4/ext4_common.c @@ -56,7 +56,7 @@ int ext4fs_indir3_blkno = -1;  struct ext2_inode *g_parent_inode;  static int symlinknest; -#if defined(CONFIG_CMD_EXT4_WRITE) +#if defined(CONFIG_EXT4_WRITE)  uint32_t ext4fs_div_roundup(uint32_t size, uint32_t n)  {  	uint32_t res = size / n; diff --git a/fs/ext4/ext4_common.h b/fs/ext4/ext4_common.h index f72813418..87cab168e 100644 --- a/fs/ext4/ext4_common.h +++ b/fs/ext4/ext4_common.h @@ -37,7 +37,7 @@  #include <ext4fs.h>  #include <malloc.h>  #include <asm/errno.h> -#if defined(CONFIG_CMD_EXT4_WRITE) +#if defined(CONFIG_EXT4_WRITE)  #include "ext4_journal.h"  #include "crc16.h"  #endif @@ -71,7 +71,7 @@ int ext4fs_find_file(const char *path, struct ext2fs_node *rootnode,  int ext4fs_iterate_dir(struct ext2fs_node *dir, char *name,  			struct ext2fs_node **fnode, int *ftype); -#if defined(CONFIG_CMD_EXT4_WRITE) +#if defined(CONFIG_EXT4_WRITE)  uint32_t ext4fs_div_roundup(uint32_t size, uint32_t n);  int ext4fs_checksum_update(unsigned int i);  int ext4fs_get_parent_inode_num(const char *dirname, char *dname, int flags); diff --git a/fs/ext4/ext4fs.c b/fs/ext4/ext4fs.c index 3a5ef20a4..06536baf6 100644 --- a/fs/ext4/ext4fs.c +++ b/fs/ext4/ext4fs.c @@ -196,7 +196,7 @@ int ext4fs_read(char *buf, unsigned len)  	return ext4fs_read_file(ext4fs_file, 0, len, buf);  } -#if defined(CONFIG_CMD_EXT4_WRITE) +#if defined(CONFIG_EXT4_WRITE)  static void ext4fs_update(void)  {  	short i; diff --git a/fs/fat/Makefile b/fs/fat/Makefile index 02e688167..969715bf9 100644 --- a/fs/fat/Makefile +++ b/fs/fat/Makefile @@ -24,11 +24,11 @@ include $(TOPDIR)/config.mk  LIB	= $(obj)libfat.o  AOBJS	= -COBJS-$(CONFIG_CMD_FAT)	:= fat.o +COBJS-$(CONFIG_FS_FAT)	:= fat.o  COBJS-$(CONFIG_FAT_WRITE):= fat_write.o  ifndef CONFIG_SPL_BUILD -COBJS-$(CONFIG_CMD_FAT)	+= file.o +COBJS-$(CONFIG_FS_FAT)	+= file.o  endif  SRCS	:= $(AOBJS:.o=.S) $(COBJS-y:.o=.c) diff --git a/include/config_fallbacks.h b/include/config_fallbacks.h index 430890c3f..bfb9680d6 100644 --- a/include/config_fallbacks.h +++ b/include/config_fallbacks.h @@ -13,4 +13,17 @@  #define CONFIG_SYS_BAUDRATE_TABLE	{ 9600, 19200, 38400, 57600, 115200 }  #endif +#if defined(CONFIG_CMD_FAT) && !defined(CONFIG_FS_FAT) +#define CONFIG_FS_FAT +#endif + +#if (defined(CONFIG_CMD_EXT4) || defined(CONFIG_CMD_EXT2)) && \ +						!defined(CONFIG_FS_EXT4) +#define CONFIG_FS_EXT4 +#endif + +#if defined(CONFIG_CMD_EXT4_WRITE) && !defined(CONFIG_EXT4_WRITE) +#define CONFIG_EXT4_WRITE +#endif +  #endif	/* __CONFIG_FALLBACKS_H */ diff --git a/include/ext4fs.h b/include/ext4fs.h index 23298fcd7..3b59d15aa 100644 --- a/include/ext4fs.h +++ b/include/ext4fs.h @@ -116,7 +116,7 @@ struct ext_filesystem {  extern struct ext2_data *ext4fs_root;  extern struct ext2fs_node *ext4fs_file; -#if defined(CONFIG_CMD_EXT4_WRITE) +#if defined(CONFIG_EXT4_WRITE)  extern struct ext2_inode *g_parent_inode;  extern int gd_index;  extern int gindex; |