cmd: fs: Add command to list supported fs types
Added command "fstypes" to list supported/included filesystems. Signed-off-by: Niel Fourie <lusus@denx.de> Cc: Simon Glass <sjg@chromium.org> Reviewed-by: Simon Glass <sjg@chromium.org> [trini: Limit to sandbox] Signed-off-by: Tom Rini <trini@konsulko.com>
This commit is contained in:
parent
0ffdfbd1d0
commit
2280fa56a0
4 changed files with 55 additions and 0 deletions
11
cmd/fs.c
11
cmd/fs.c
|
@ -100,3 +100,14 @@ U_BOOT_CMD(
|
||||||
"fstype <interface> <dev>:<part> <varname>\n"
|
"fstype <interface> <dev>:<part> <varname>\n"
|
||||||
"- set environment variable to filesystem type\n"
|
"- set environment variable to filesystem type\n"
|
||||||
);
|
);
|
||||||
|
|
||||||
|
static int do_fstypes_wrapper(struct cmd_tbl *cmdtp, int flag, int argc,
|
||||||
|
char * const argv[])
|
||||||
|
{
|
||||||
|
return do_fs_types(cmdtp, flag, argc, argv);
|
||||||
|
}
|
||||||
|
|
||||||
|
U_BOOT_CMD(
|
||||||
|
fstypes, 1, 1, do_fstypes_wrapper,
|
||||||
|
"List supported filesystem types", ""
|
||||||
|
);
|
||||||
|
|
20
fs/fs.c
20
fs/fs.c
|
@ -903,3 +903,23 @@ int do_ln(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[],
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int do_fs_types(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[])
|
||||||
|
{
|
||||||
|
struct fstype_info *drv = fstypes;
|
||||||
|
const int n_ents = ARRAY_SIZE(fstypes);
|
||||||
|
struct fstype_info *entry;
|
||||||
|
int i = 0;
|
||||||
|
|
||||||
|
puts("Supported filesystems");
|
||||||
|
for (entry = drv; entry != drv + n_ents; entry++) {
|
||||||
|
if (entry->fstype != FS_TYPE_ANY) {
|
||||||
|
printf("%c %s", i ? ',' : ':', entry->name);
|
||||||
|
i++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (!i)
|
||||||
|
puts(": <none>");
|
||||||
|
puts("\n");
|
||||||
|
return CMD_RET_SUCCESS;
|
||||||
|
}
|
||||||
|
|
11
include/fs.h
11
include/fs.h
|
@ -259,4 +259,15 @@ int do_fs_uuid(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[],
|
||||||
*/
|
*/
|
||||||
int do_fs_type(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
|
int do_fs_type(struct cmd_tbl *cmdtp, int flag, int argc, char *const argv[]);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* do_fs_types - List supported filesystems.
|
||||||
|
*
|
||||||
|
* @cmdtp: Command information for fstypes
|
||||||
|
* @flag: Command flags (CMD_FLAG_...)
|
||||||
|
* @argc: Number of arguments
|
||||||
|
* @argv: List of arguments
|
||||||
|
* @return result (see enum command_ret_t)
|
||||||
|
*/
|
||||||
|
int do_fs_types(struct cmd_tbl *cmdtp, int flag, int argc, char * const argv[]);
|
||||||
|
|
||||||
#endif /* _FS_H */
|
#endif /* _FS_H */
|
||||||
|
|
13
test/py/tests/test_fs/test_fs_cmd.py
Normal file
13
test/py/tests/test_fs/test_fs_cmd.py
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
# SPDX-License-Identifier: GPL-2.0
|
||||||
|
# Copyright (C) 2020
|
||||||
|
# Niel Fourie, DENX Software Engineering, lusus@denx.de
|
||||||
|
|
||||||
|
import pytest
|
||||||
|
|
||||||
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.buildconfigspec('cmd_fs_generic')
|
||||||
|
def test_dm_compat(u_boot_console):
|
||||||
|
"""Test that `fstypes` prints a result which includes `sandbox`."""
|
||||||
|
output = u_boot_console.run_command('fstypes')
|
||||||
|
assert "Supported filesystems:" in output
|
||||||
|
assert "sandbox" in output
|
Loading…
Reference in a new issue