dm: blk: Add a generic function for block device commands

Most block devices provide a command (e.g. 'sata', 'scsi', 'ide') and
these commands generally do the same thing. This makes it harder to
maintain this code and keep it consistent.

We now have a block device interface which is either implemented by driver
model (when CONFIG_BLK is enabled) or with a legacy interface. Therefore
it is possible to handle most of what these commands do with generic code.

Add a new generic function to process block-device commands using the
interface type and the current device number for that type.

Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
Simon Glass
2017-07-29 11:34:54 -06:00
committed by Jaehoon Chung
parent 6faa4ed74d
commit 4395f66739
3 changed files with 117 additions and 0 deletions

View File

@ -632,4 +632,16 @@ int blk_select_hwpart_devnum(enum if_type if_type, int devnum, int hwpart);
*/
const char *blk_get_if_type_name(enum if_type if_type);
/**
* blk_common_cmd() - handle common commands with block devices
*
* @args: Number of arguments to the command (argv[0] is the command itself)
* @argv: Command arguments
* @if_type: Interface type
* @cur_devnump: Current device number for this interface type
* @return 0 if OK, CMD_RET_ERROR on error
*/
int blk_common_cmd(int argc, char * const argv[], enum if_type if_type,
int *cur_devnump);
#endif