ide: Combine the two loops in ide_probe()
authorSimon Glass <sjg@chromium.org>
Tue, 25 Apr 2023 16:54:46 +0000 (10:54 -0600)
committerTom Rini <trini@konsulko.com>
Thu, 27 Apr 2023 17:51:06 +0000 (13:51 -0400)
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@chromium.org>
drivers/block/ide.c

index 5fbf144..d682d6a 100644 (file)
@@ -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;