Commit ebac37cf authored by Simon Glass's avatar Simon Glass

dm: blk: Rename get_device() to blk_get_device_by_str()

The current name is too generic. The function returns a block device based
on a provided string. Rename it to aid searching and make its purpose
clearer. Also add a few comments.
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
Reviewed-by: default avatarBin Meng <bmeng.cn@gmail.com>
Tested-by: default avatarStephen Warren <swarren@nvidia.com>
parent db1d9e78
......@@ -81,7 +81,7 @@ static int do_part_list(int argc, char * const argv[])
return CMD_RET_USAGE;
}
ret = get_device(argv[0], argv[1], &desc);
ret = blk_get_device_by_str(argv[0], argv[1], &desc);
if (ret < 0)
return 1;
......@@ -128,7 +128,7 @@ static int do_part_start(int argc, char * const argv[])
part = simple_strtoul(argv[2], NULL, 0);
ret = get_device(argv[0], argv[1], &desc);
ret = blk_get_device_by_str(argv[0], argv[1], &desc);
if (ret < 0)
return 1;
......@@ -162,7 +162,7 @@ static int do_part_size(int argc, char * const argv[])
part = simple_strtoul(argv[2], NULL, 0);
ret = get_device(argv[0], argv[1], &desc);
ret = blk_get_device_by_str(argv[0], argv[1], &desc);
if (ret < 0)
return 1;
......
......@@ -53,7 +53,7 @@ static int do_gzwrite(cmd_tbl_t *cmdtp, int flag,
if (argc < 5)
return CMD_RET_USAGE;
ret = get_device(argv[1], argv[2], &bdev);
ret = blk_get_device_by_str(argv[1], argv[2], &bdev);
if (ret < 0)
return CMD_RET_FAILURE;
......
......@@ -69,7 +69,7 @@ static int ums_init(const char *devtype, const char *devnums)
if (!devnum)
break;
ret = get_device(devtype, devnum, &block_dev);
ret = blk_get_device_by_str(devtype, devnum, &block_dev);
if (ret < 0)
goto cleanup;
......
......@@ -449,8 +449,8 @@ int get_partition_info(struct blk_desc *dev_desc, int part,
return -1;
}
int get_device(const char *ifname, const char *dev_hwpart_str,
struct blk_desc **dev_desc)
int blk_get_device_by_str(const char *ifname, const char *dev_hwpart_str,
struct blk_desc **dev_desc)
{
char *ep;
char *dup_str = NULL;
......@@ -598,7 +598,7 @@ int get_device_and_partition(const char *ifname, const char *dev_part_str,
}
/* Look up the device */
dev = get_device(ifname, dev_str, dev_desc);
dev = blk_get_device_by_str(ifname, dev_str, dev_desc);
if (dev < 0)
goto cleanup;
......
......@@ -101,8 +101,34 @@ int get_partition_info(struct blk_desc *dev_desc, int part,
void print_part(struct blk_desc *dev_desc);
void init_part(struct blk_desc *dev_desc);
void dev_print(struct blk_desc *dev_desc);
int get_device(const char *ifname, const char *dev_str,
struct blk_desc **dev_desc);
/**
* blk_get_device_by_str() - Get a block device given its interface/hw partition
*
* Each interface allocates its own devices and typically struct blk_desc is
* contained with the interface's data structure. There is no global
* numbering for block devices, so the interface name must be provided.
*
* The hardware parition is not related to the normal software partitioning
* of a device - each hardware partition is effectively a separately
* accessible block device. When a hardware parition is selected on MMC the
* other hardware partitions become inaccessible. The same block device is
* used to access all hardware partitions, but its capacity may change when a
* different hardware partition is selected.
*
* When a hardware partition number is given, the block device switches to
* that hardware partition.
*
* @ifname: Interface name (e.g. "ide", "scsi")
* @dev_str: Device and optional hw partition. This can either be a string
* containing the device number (e.g. "2") or the device number
* and hardware partition number (e.g. "2.4") for devices that
* support it (currently only MMC).
* @dev_desc: Returns a pointer to the block device on success
* @return block device number (local to the interface), or -1 on error
*/
int blk_get_device_by_str(const char *ifname, const char *dev_str,
struct blk_desc **dev_desc);
int get_device_and_partition(const char *ifname, const char *dev_part_str,
struct blk_desc **dev_desc,
disk_partition_t *info, int allow_whole_dev);
......@@ -124,8 +150,8 @@ static inline int get_partition_info(struct blk_desc *dev_desc, int part,
static inline void print_part(struct blk_desc *dev_desc) {}
static inline void init_part(struct blk_desc *dev_desc) {}
static inline void dev_print(struct blk_desc *dev_desc) {}
static inline int get_device(const char *ifname, const char *dev_str,
struct blk_desc **dev_desc)
static inline int blk_get_device_by_str(const char *ifname, const char *dev_str,
struct blk_desc **dev_desc)
{ return -1; }
static inline int get_device_and_partition(const char *ifname,
const char *dev_part_str,
......
......@@ -45,7 +45,7 @@ static int dm_test_usb_flash(struct unit_test_state *uts)
state_set_skip_delays(true);
ut_assertok(usb_init());
ut_assertok(uclass_get_device(UCLASS_MASS_STORAGE, 0, &dev));
ut_assertok(get_device("usb", "0", &dev_desc));
ut_assertok(blk_get_device_by_str("usb", "0", &dev_desc));
/* Read a few blocks and look for the string we expect */
ut_asserteq(512, dev_desc->blksz);
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment