@ -61,61 +61,16 @@ int do_ext4_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
# if defined(CONFIG_CMD_EXT4_WRITE)
int do_ext4_write ( cmd_tbl_t * cmdtp , int flag , int argc ,
char * const argv [ ] )
char * const argv [ ] )
{
const char * filename = " / " ;
int dev , part ;
unsigned long ram_address ;
unsigned long file_size ;
disk_partition_t info ;
block_dev_desc_t * dev_desc ;
if ( argc < 6 )
return cmd_usage ( cmdtp ) ;
part = get_device_and_partition ( argv [ 1 ] , argv [ 2 ] , & dev_desc , & info , 1 ) ;
if ( part < 0 )
return 1 ;
dev = dev_desc - > dev ;
/* get the filename */
filename = argv [ 4 ] ;
/* get the address in hexadecimal format (string to int) */
ram_address = simple_strtoul ( argv [ 3 ] , NULL , 16 ) ;
/* get the filesize in hexadecimal format */
file_size = simple_strtoul ( argv [ 5 ] , NULL , 16 ) ;
/* set the device as block device */
ext4fs_set_blk_dev ( dev_desc , & info ) ;
/* mount the filesystem */
if ( ! ext4fs_mount ( info . size ) ) {
printf ( " Bad ext4 partition %s %d:%d \n " , argv [ 1 ] , dev , part ) ;
goto fail ;
}
/* start write */
if ( ext4fs_write ( filename , ( unsigned char * ) ram_address , file_size ) ) {
printf ( " ** Error ext4fs_write() ** \n " ) ;
goto fail ;
}
ext4fs_close ( ) ;
return 0 ;
fail :
ext4fs_close ( ) ;
return 1 ;
return do_save ( cmdtp , flag , argc , argv , FS_TYPE_EXT ) ;
}
U_BOOT_CMD ( ext4write , 6 , 1 , do_ext4_write ,
" create a file in the root directory " ,
" <interface> <dev[:part]> <addr> <absolute filename path> [sizebytes] \n "
" - create a file in / directory " ) ;
U_BOOT_CMD ( ext4write , 7 , 1 , do_ext4_write ,
" create a file in the root directory " ,
" <interface> <dev[:part]> <addr> <absolute filename path> \n "
" [sizebytes] [file offset] \n "
" - create a file in / directory " ) ;
# endif
@ -132,7 +87,7 @@ U_BOOT_CMD(ext4ls, 4, 1, do_ext4_ls,
" <interface> <dev[:part]> [directory] \n "
" - list files from 'dev' on 'interface' in a 'directory' " ) ;
U_BOOT_CMD ( ext4load , 6 , 0 , do_ext4_load ,
U_BOOT_CMD ( ext4load , 7 , 0 , do_ext4_load ,
" load binary file from a Ext4 filesystem " ,
" <interface> [<dev[:part]> [addr [filename [bytes [pos]]]]] \n "
" - load binary file 'filename' from 'dev' on 'interface' \n "