cmd: ums: abort mounting by pressing any key

This patch introduses config which allows interrupt run of usb
mass storage with any key. This is especially useful on devices
with limited input capabilities like tablets and smatphones which
have only gpio keys in direct access.

Signed-off-by: Svyatoslav Ryhel <clamor95@gmail.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Svyatoslav Ryhel 2023-03-20 21:01:43 +02:00 committed by Tom Rini
parent 49b7d69f56
commit a57adacf50
2 changed files with 16 additions and 0 deletions

View file

@ -1552,6 +1552,12 @@ config CMD_USB_MASS_STORAGE
export a block device: U-Boot, the USB device, acts as a simple
external hard drive plugged on the host USB port.
config CMD_UMS_ABORT_KEYED
bool "UMS abort with any key"
depends on CMD_USB_MASS_STORAGE
help
Allow interruption of usb mass storage run with any key pressed.
config CMD_PVBLOCK
bool "Xen para-virtualized block device"
depends on XEN

View file

@ -231,6 +231,16 @@ static int do_usb_mass_storage(struct cmd_tbl *cmdtp, int flag,
goto cleanup_register;
}
if (IS_ENABLED(CONFIG_CMD_UMS_ABORT_KEYED)) {
/* Abort by pressing any key */
if (tstc()) {
getchar();
printf("\rOperation aborted.\n");
rc = CMD_RET_SUCCESS;
goto cleanup_register;
}
}
schedule();
}