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
11
cmd/fs.c
11
cmd/fs.c
@ -100,3 +100,14 @@ U_BOOT_CMD(
|
||||
"fstype <interface> <dev>:<part> <varname>\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;
|
||||
}
|
||||
|
||||
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[]);
|
||||
|
||||
/**
|
||||
* 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 */
|
||||
|
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 New Issue
Block a user