disk: Return the partition number in part_get_info_by_name()

Similar to what blk_get_device_part_str() does, this patch makes
part_get_info_by_name() return the partition number in case of a match.
This is useful when the partition number is needed and not just the
descriptor.

Signed-off-by: Alex Deymo <deymo@google.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
master
Alex Deymo 7 years ago committed by Tom Rini
parent 210a7176ee
commit 88b6329cce
  1. 6
      common/fb_mmc.c
  2. 2
      disk/part.c
  3. 3
      include/part.h

@ -37,7 +37,7 @@ static int part_get_info_by_name_or_alias(struct blk_desc *dev_desc,
int ret; int ret;
ret = part_get_info_by_name(dev_desc, name, info); ret = part_get_info_by_name(dev_desc, name, info);
if (ret) { if (ret < 0) {
/* strlen("fastboot_partition_alias_") + 32(part_name) + 1 */ /* strlen("fastboot_partition_alias_") + 32(part_name) + 1 */
char env_alias_name[25 + 32 + 1]; char env_alias_name[25 + 32 + 1];
char *aliased_part_name; char *aliased_part_name;
@ -153,7 +153,7 @@ void fb_mmc_flash_write(const char *cmd, void *download_buffer,
} }
#endif #endif
if (part_get_info_by_name_or_alias(dev_desc, cmd, &info)) { if (part_get_info_by_name_or_alias(dev_desc, cmd, &info) < 0) {
error("cannot find partition: '%s'\n", cmd); error("cannot find partition: '%s'\n", cmd);
fastboot_fail("cannot find partition"); fastboot_fail("cannot find partition");
return; return;
@ -205,7 +205,7 @@ void fb_mmc_erase(const char *cmd)
} }
ret = part_get_info_by_name_or_alias(dev_desc, cmd, &info); ret = part_get_info_by_name_or_alias(dev_desc, cmd, &info);
if (ret) { if (ret < 0) {
error("cannot find partition: '%s'", cmd); error("cannot find partition: '%s'", cmd);
fastboot_fail("cannot find partition"); fastboot_fail("cannot find partition");
return; return;

@ -635,7 +635,7 @@ int part_get_info_by_name(struct blk_desc *dev_desc, const char *name,
} }
if (strcmp(name, (const char *)info->name) == 0) { if (strcmp(name, (const char *)info->name) == 0) {
/* matched */ /* matched */
return 0; return i;
} }
} }
} }

@ -163,7 +163,8 @@ int blk_get_device_part_str(const char *ifname, const char *dev_part_str,
* @param gpt_name - the specified table entry name * @param gpt_name - the specified table entry name
* @param info - returns the disk partition info * @param info - returns the disk partition info
* *
* @return - '0' on match, '-1' on no match, otherwise error * @return - the partition number on match (starting on 1), -1 on no match,
* otherwise error
*/ */
int part_get_info_by_name(struct blk_desc *dev_desc, int part_get_info_by_name(struct blk_desc *dev_desc,
const char *name, disk_partition_t *info); const char *name, disk_partition_t *info);

Loading…
Cancel
Save