From 87571b7f2077c567f8d050abe60ff5578f0b7cd8 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Sun, 24 Apr 2022 23:31:03 -0600 Subject: [PATCH] dm: blk: Add a function to return the device type Use the uclass name to get the device type for a block device. Signed-off-by: Simon Glass --- drivers/block/blk-uclass.c | 7 +++++++ include/blk.h | 8 ++++++++ 2 files changed, 15 insertions(+) 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 @@ -433,6 +433,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 -- 2.39.5