extension: Refactor to allow non-command usage
The current extension code is designed to be used from commands. We want to add a boot driver which uses it. To help with this, split the code into the command processing and a function which actually does the scan. Really the extension code should be in common/ or use driver model, but this is a start. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
43e89a3069
commit
35ce14617e
1 changed files with 14 additions and 4 deletions
|
@ -80,8 +80,7 @@ static int do_extension_list(struct cmd_tbl *cmdtp, int flag,
|
|||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
static int do_extension_scan(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
static int extension_scan(bool show)
|
||||
{
|
||||
struct extension *extension, *next;
|
||||
int extension_num;
|
||||
|
@ -91,12 +90,23 @@ static int do_extension_scan(struct cmd_tbl *cmdtp, int flag,
|
|||
free(extension);
|
||||
}
|
||||
extension_num = extension_board_scan(&extension_list);
|
||||
if (show && extension_num >= 0)
|
||||
printf("Found %d extension board(s).\n", extension_num);
|
||||
|
||||
/* either the number of extensions, or -ve for error */
|
||||
return extension_num;
|
||||
}
|
||||
|
||||
|
||||
static int do_extension_scan(struct cmd_tbl *cmdtp, int flag,
|
||||
int argc, char *const argv[])
|
||||
{
|
||||
int extension_num;
|
||||
|
||||
extension_num = extension_scan(true);
|
||||
if (extension_num < 0)
|
||||
return CMD_RET_FAILURE;
|
||||
|
||||
printf("Found %d extension board(s).\n", extension_num);
|
||||
|
||||
return CMD_RET_SUCCESS;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue