|
@@ -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;
|
|
|
}
|