summaryrefslogtreecommitdiff
path: root/disk
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2016-05-01 13:52:31 -0600
committerSimon Glass <sjg@chromium.org>2016-05-17 09:54:43 -0600
commit1fde473da7a5de1e6ad1c72d1b84763642bb1a9f (patch)
tree23275a18c9f2fc710a6fc45ddfb5e269382117b7 /disk
parentcd0fb55b640b2991c1d29122d252a360037ed903 (diff)
downloadu-boot-1fde473da7a5de1e6ad1c72d1b84763642bb1a9f.tar.gz
dm: part: Use the legacy block driver for hardware partition support
Drop use of the table in part.c for this feature. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'disk')
-rw-r--r--disk/part.c12
1 files changed, 1 insertions, 11 deletions
diff --git a/disk/part.c b/disk/part.c
index e635d90864..db5dd5d2f9 100644
--- a/disk/part.c
+++ b/disk/part.c
@@ -71,9 +71,7 @@ static struct part_driver *part_driver_lookup_type(int part_type)
static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)
{
const struct block_drvr *drvr = block_drvr;
- int (*select_hwpart)(int dev_num, int hwpart);
char *name;
- int ret;
if (!ifname)
return NULL;
@@ -84,11 +82,8 @@ static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)
#endif
while (drvr->name) {
name = drvr->name;
- select_hwpart = drvr->select_hwpart;
#ifdef CONFIG_NEEDS_MANUAL_RELOC
name += gd->reloc_off;
- if (select_hwpart)
- select_hwpart += gd->reloc_off;
#endif
if (strncmp(ifname, name, strlen(name)) == 0) {
struct blk_desc *dev_desc;
@@ -96,12 +91,7 @@ static struct blk_desc *get_dev_hwpart(const char *ifname, int dev, int hwpart)
dev_desc = blk_get_devnum_by_typename(name, dev);
if (!dev_desc)
return NULL;
- if (hwpart == 0 && !select_hwpart)
- return dev_desc;
- if (!select_hwpart)
- return NULL;
- ret = select_hwpart(dev_desc->devnum, hwpart);
- if (ret < 0)
+ if (blk_dselect_hwpart(dev_desc, hwpart))
return NULL;
return dev_desc;
}