[PATCH 21/30] ide: Combine the two loops in ide_probe()

Simon Glass sjg at chromium.org
Mon Mar 27 21:07:08 CEST 2023


The two loops in this function operate on the same ide_dev_desc[] array.
Combine them to reduce duplication.

Signed-off-by: Simon Glass <sjg at chromium.org>
---

 drivers/block/ide.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/block/ide.c b/drivers/block/ide.c
index 5fbf144da9d1..d682d6ad9e68 100644
--- a/drivers/block/ide.c
+++ b/drivers/block/ide.c
@@ -1021,7 +1021,12 @@ static int ide_probe(struct udevice *udev)
 
 	putc('\n');
 
-	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; ++i) {
+	schedule();
+
+	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; i++) {
+		if (!bus_ok[IDE_BUS(i)])
+			continue;
+
 		ide_dev_desc[i].type = DEV_TYPE_UNKNOWN;
 		ide_dev_desc[i].uclass_id = UCLASS_IDE;
 		ide_dev_desc[i].devnum = i;
@@ -1030,14 +1035,9 @@ static int ide_probe(struct udevice *udev)
 		ide_dev_desc[i].log2blksz =
 			LOG2_INVALID(typeof(ide_dev_desc[i].log2blksz));
 		ide_dev_desc[i].lba = 0;
-		if (!bus_ok[IDE_BUS(i)])
-			continue;
 		ide_ident(&ide_dev_desc[i]);
 		dev_print(&ide_dev_desc[i]);
-	}
-	schedule();
 
-	for (i = 0; i < CONFIG_SYS_IDE_MAXDEVICE; i++) {
 		if (ide_dev_desc[i].type != DEV_TYPE_UNKNOWN) {
 			struct udevice *blk_dev;
 			struct blk_desc *desc;
-- 
2.40.0.348.gf938b09366-goog



More information about the U-Boot mailing list