[PATCH 6/8] disk: Switch part_blk_*() functions to disk_blk_*()

Marek Vasut marek.vasut+renesas at mailbox.org
Mon Aug 14 01:46:46 CEST 2023


The behavior of the part_blk_*() functions is now identical
to disk_blk_*() functions, switch the former to the later.

Signed-off-by: Marek Vasut <marek.vasut+renesas at mailbox.org>
---
Cc: AKASHI Takahiro <takahiro.akashi at linaro.org>
Cc: Abdellatif El Khlifi <abdellatif.elkhlifi at arm.com>
Cc: Bin Meng <bmeng.cn at gmail.com>
Cc: Heinrich Schuchardt <xypron.glplk at gmx.de>
Cc: Joshua Watt <jpewhacker at gmail.com>
Cc: Michal Suchanek <msuchanek at suse.de>
Cc: Simon Glass <sjg at chromium.org>
Cc: Tobias Waldekranz <tobias at waldekranz.com>
---
 disk/disk-uclass.c | 93 ++++++----------------------------------------
 1 file changed, 12 insertions(+), 81 deletions(-)

diff --git a/disk/disk-uclass.c b/disk/disk-uclass.c
index f262105375b..90a7c6f0f8a 100644
--- a/disk/disk-uclass.c
+++ b/disk/disk-uclass.c
@@ -103,87 +103,6 @@ int part_create_block_devices(struct udevice *blk_dev)
 	return 0;
 }
 
-static ulong part_blk_read(struct udevice *dev, lbaint_t start,
-			   lbaint_t blkcnt, void *buffer)
-{
-	struct udevice *parent;
-	struct disk_part *part;
-	const struct blk_ops *ops;
-
-	parent = dev_get_parent(dev);
-	ops = blk_get_ops(parent);
-	if (!ops->read)
-		return -ENOSYS;
-
-	part = dev_get_uclass_plat(dev);
-	if (start >= part->gpt_part_info.size)
-		return 0;
-
-	if ((start + blkcnt) > part->gpt_part_info.size)
-		blkcnt = part->gpt_part_info.size - start;
-	start += part->gpt_part_info.start;
-
-	return ops->read(parent, start, blkcnt, buffer);
-}
-
-static ulong part_blk_write(struct udevice *dev, lbaint_t start,
-			    lbaint_t blkcnt, const void *buffer)
-{
-	struct udevice *parent;
-	struct disk_part *part;
-	const struct blk_ops *ops;
-
-	parent = dev_get_parent(dev);
-	ops = blk_get_ops(parent);
-	if (!ops->write)
-		return -ENOSYS;
-
-	part = dev_get_uclass_plat(dev);
-	if (start >= part->gpt_part_info.size)
-		return 0;
-
-	if ((start + blkcnt) > part->gpt_part_info.size)
-		blkcnt = part->gpt_part_info.size - start;
-	start += part->gpt_part_info.start;
-
-	return ops->write(parent, start, blkcnt, buffer);
-}
-
-static ulong part_blk_erase(struct udevice *dev, lbaint_t start,
-			    lbaint_t blkcnt)
-{
-	struct udevice *parent;
-	struct disk_part *part;
-	const struct blk_ops *ops;
-
-	parent = dev_get_parent(dev);
-	ops = blk_get_ops(parent);
-	if (!ops->erase)
-		return -ENOSYS;
-
-	part = dev_get_uclass_plat(dev);
-	if (start >= part->gpt_part_info.size)
-		return 0;
-
-	if ((start + blkcnt) > part->gpt_part_info.size)
-		blkcnt = part->gpt_part_info.size - start;
-	start += part->gpt_part_info.start;
-
-	return ops->erase(parent, start, blkcnt);
-}
-
-static const struct blk_ops blk_part_ops = {
-	.read	= part_blk_read,
-	.write	= part_blk_write,
-	.erase	= part_blk_erase,
-};
-
-U_BOOT_DRIVER(blk_partition) = {
-	.name		= "blk_partition",
-	.id		= UCLASS_PARTITION,
-	.ops		= &blk_part_ops,
-};
-
 /*
  * BLOCK IO APIs
  */
@@ -257,3 +176,15 @@ UCLASS_DRIVER(partition) = {
 	.per_device_plat_auto	= sizeof(struct disk_part),
 	.name		= "partition",
 };
+
+static const struct blk_ops blk_part_ops = {
+	.read	= disk_blk_read,
+	.write	= disk_blk_write,
+	.erase	= disk_blk_erase,
+};
+
+U_BOOT_DRIVER(blk_partition) = {
+	.name		= "blk_partition",
+	.id		= UCLASS_PARTITION,
+	.ops		= &blk_part_ops,
+};
-- 
2.40.1



More information about the U-Boot mailing list