diff options
-rw-r--r-- | drivers/block/blk-uclass.c | 7 | ||||
-rw-r--r-- | include/blk.h | 8 |
2 files changed, 15 insertions, 0 deletions
diff --git a/drivers/block/blk-uclass.c b/drivers/block/blk-uclass.c index f1e4a85646..29f355fa15 100644 --- a/drivers/block/blk-uclass.c +++ b/drivers/block/blk-uclass.c @@ -509,6 +509,13 @@ int blk_get_from_parent(struct udevice *parent, struct udevice **devp) return 0; } +const char *blk_get_devtype(struct udevice *dev) +{ + struct udevice *parent = dev_get_parent(dev); + + return uclass_get_name(device_get_uclass_id(parent)); +}; + int blk_find_max_devnum(enum if_type if_type) { struct udevice *dev; diff --git a/include/blk.h b/include/blk.h index dbe9ae219d..9503369db8 100644 --- a/include/blk.h +++ b/include/blk.h @@ -434,6 +434,14 @@ int blk_select_hwpart(struct udevice *dev, int hwpart); int blk_get_from_parent(struct udevice *parent, struct udevice **devp); /** + * blk_get_devtype() - Get the device type of a block device + * + * @dev: Block device to check + * Return: device tree, i.e. the uclass name of its parent, e.g. "mmc" + */ +const char *blk_get_devtype(struct udevice *dev); + +/** * blk_get_by_device() - Get the block device descriptor for the given device * @dev: Instance of a storage device * |