Blame view

cmd/ext4.c 2.49 KB
a1596438a   Uma Shankar   ext4fs ls load su...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
  /*
   * (C) Copyright 2011 - 2012 Samsung Electronics
   * EXT4 filesystem implementation in Uboot by
   * Uma Shankar <uma.shankar@samsung.com>
   * Manjunatha C Achar <a.manjunatha@samsung.com>
   *
   * Ext4fs support
   * made from existing cmd_ext2.c file of Uboot
   *
   * (C) Copyright 2004
   * esd gmbh <www.esd-electronics.com>
   * Reinhard Arlt <reinhard.arlt@esd-electronics.com>
   *
   * made from cmd_reiserfs by
   *
   * (C) Copyright 2003 - 2004
   * Sysgo Real-Time Solutions, AG <www.elinos.com>
   * Pavel Bartusek <pba@sysgo.com>
   *
1a4596601   Wolfgang Denk   Add GPL-2.0+ SPDX...
20
   * SPDX-License-Identifier:	GPL-2.0+
a1596438a   Uma Shankar   ext4fs ls load su...
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
   */
  
  /*
   * Changelog:
   *	0.1 - Newly created file for ext4fs support. Taken from cmd_ext2.c
   *	        file in uboot. Added ext4fs ls load and write support.
   */
  
  #include <common.h>
  #include <part.h>
  #include <config.h>
  #include <command.h>
  #include <image.h>
  #include <linux/ctype.h>
  #include <asm/byteorder.h>
a1596438a   Uma Shankar   ext4fs ls load su...
36
37
38
  #include <ext4fs.h>
  #include <linux/stat.h>
  #include <malloc.h>
045fa1e11   Stephen Warren   fs: add filesyste...
39
  #include <fs.h>
a1596438a   Uma Shankar   ext4fs ls load su...
40
41
42
43
  
  #if defined(CONFIG_CMD_USB) && defined(CONFIG_USB_STORAGE)
  #include <usb.h>
  #endif
cf6598193   Stephen Warren   fs: implement siz...
44
45
46
47
48
  int do_ext4_size(cmd_tbl_t *cmdtp, int flag, int argc,
  						char *const argv[])
  {
  	return do_size(cmdtp, flag, argc, argv, FS_TYPE_EXT);
  }
a1596438a   Uma Shankar   ext4fs ls load su...
49
50
51
  int do_ext4_load(cmd_tbl_t *cmdtp, int flag, int argc,
  						char *const argv[])
  {
b770e88a6   Wolfgang Denk   Fix number base h...
52
  	return do_load(cmdtp, flag, argc, argv, FS_TYPE_EXT);
a1596438a   Uma Shankar   ext4fs ls load su...
53
54
55
56
  }
  
  int do_ext4_ls(cmd_tbl_t *cmdtp, int flag, int argc, char *const argv[])
  {
045fa1e11   Stephen Warren   fs: add filesyste...
57
  	return do_ls(cmdtp, flag, argc, argv, FS_TYPE_EXT);
a1596438a   Uma Shankar   ext4fs ls load su...
58
  }
ed34f34db   Uma Shankar   ext4fs write support
59
  #if defined(CONFIG_CMD_EXT4_WRITE)
ed34f34db   Uma Shankar   ext4fs write support
60
  int do_ext4_write(cmd_tbl_t *cmdtp, int flag, int argc,
9f12cd0e0   Suriyan Ramasami   ext4: Prepare API...
61
  		  char *const argv[])
ed34f34db   Uma Shankar   ext4fs write support
62
  {
9f12cd0e0   Suriyan Ramasami   ext4: Prepare API...
63
  	return do_save(cmdtp, flag, argc, argv, FS_TYPE_EXT);
ed34f34db   Uma Shankar   ext4fs write support
64
  }
9f12cd0e0   Suriyan Ramasami   ext4: Prepare API...
65
66
67
68
69
70
71
  U_BOOT_CMD(ext4write, 7, 1, do_ext4_write,
  	   "create a file in the root directory",
  	   "<interface> <dev[:part]> <addr> <absolute filename path>
  "
  	   "    [sizebytes] [file offset]
  "
  	   "    - create a file in / directory");
ed34f34db   Uma Shankar   ext4fs write support
72
73
  
  #endif
cf6598193   Stephen Warren   fs: implement siz...
74
75
76
77
78
79
80
81
82
  U_BOOT_CMD(
  	ext4size,	4,	0,	do_ext4_size,
  	"determine a file's size",
  	"<interface> <dev[:part]> <filename>
  "
  	"    - Find file 'filename' from 'dev' on 'interface'
  "
  	"      and determine its size."
  );
a1596438a   Uma Shankar   ext4fs ls load su...
83
84
85
86
  U_BOOT_CMD(ext4ls, 4, 1, do_ext4_ls,
  	   "list files in a directory (default /)",
  	   "<interface> <dev[:part]> [directory]
  "
b6a304443   Stephen Warren   cmd_ext4: remove ...
87
  	   "    - list files from 'dev' on 'interface' in a 'directory'");
a1596438a   Uma Shankar   ext4fs ls load su...
88

9f12cd0e0   Suriyan Ramasami   ext4: Prepare API...
89
  U_BOOT_CMD(ext4load, 7, 0, do_ext4_load,
a1596438a   Uma Shankar   ext4fs ls load su...
90
  	   "load binary file from a Ext4 filesystem",
2a72dcce2   Pavel Machek   ext4load: fix hel...
91
92
  	   "<interface> [<dev[:part]> [addr [filename [bytes [pos]]]]]
  "
b6a304443   Stephen Warren   cmd_ext4: remove ...
93
94
  	   "    - load binary file 'filename' from 'dev' on 'interface'
  "
b770e88a6   Wolfgang Denk   Fix number base h...
95
  	   "      to address 'addr' from ext4 filesystem");