diff options
author | Simon Glass <sjg@chromium.org> | 2022-04-24 23:31:04 -0600 |
---|---|---|
committer | Tom Rini <trini@konsulko.com> | 2022-04-25 10:00:03 -0400 |
commit | c24e58f599085efa79a61cb62170b6b2164b8ce9 (patch) | |
tree | 6cd3d3b1f5edb32eb63a42f2fda0e1c53a0c785f | |
parent | 87571b7f2077c567f8d050abe60ff5578f0b7cd8 (diff) | |
download | u-boot-c24e58f599085efa79a61cb62170b6b2164b8ce9.zip u-boot-c24e58f599085efa79a61cb62170b6b2164b8ce9.tar.gz u-boot-c24e58f599085efa79a61cb62170b6b2164b8ce9.tar.bz2 |
fs: Add a function to set the filesystem type
When sandbox is used with hostfs we won't have a block device, but still
must set up the filesystem type before any filesystem operation, such as
loading a file. Add a function to handle this.
Signed-off-by: Simon Glass <sjg@chromium.org>
-rw-r--r-- | fs/fs.c | 5 | ||||
-rw-r--r-- | include/fs.h | 11 |
2 files changed, 16 insertions, 0 deletions
@@ -36,6 +36,11 @@ static int fs_dev_part; static struct disk_partition fs_partition; static int fs_type = FS_TYPE_ANY; +void fs_set_type(int type) +{ + fs_type = type; +} + static inline int fs_probe_unsupported(struct blk_desc *fs_dev_desc, struct disk_partition *fs_partition) { diff --git a/include/fs.h b/include/fs.h index e2beba3..b43f16a 100644 --- a/include/fs.h +++ b/include/fs.h @@ -57,6 +57,17 @@ int do_ext2load(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]); */ int fs_set_blk_dev(const char *ifname, const char *dev_part_str, int fstype); +/** + * fs_set_type() - Tell fs layer which filesystem type is used + * + * This is needed when reading from a non-block device such as sandbox. It does + * a similar job to fs_set_blk_dev() but just sets the filesystem type instead + * of detecting it and loading it on the block device + * + * @type: Filesystem type to use (FS_TYPE...) + */ +void fs_set_type(int type); + /* * fs_set_blk_dev_with_part - Set current block device + partition * |