[PATCH 15/18] arm64: versal-net: Simplify spi_get_bootseq() bootmode switch
Michal Simek
michal.simek at amd.com
Tue Jun 23 14:53:40 CEST 2026
The QSPI and OSPI cases only differ in the SPI device name. Pick the name
in the switch and perform a single uclass_get_device_by_name() lookup
afterwards, instead of repeating the lookup and dev_seq() in every case.
No functional change.
Signed-off-by: Michal Simek <michal.simek at amd.com>
---
board/xilinx/versal-net/board.c | 33 +++++++++++++--------------------
1 file changed, 13 insertions(+), 20 deletions(-)
diff --git a/board/xilinx/versal-net/board.c b/board/xilinx/versal-net/board.c
index 5ad8c8d6426a..50dd49927be2 100644
--- a/board/xilinx/versal-net/board.c
+++ b/board/xilinx/versal-net/board.c
@@ -71,41 +71,34 @@ int board_early_init_r(void)
static int spi_get_bootseq(u8 bootmode)
{
struct udevice *dev;
- int bootseq = -1;
+ const char *name;
+ int bootseq;
switch (bootmode) {
case QSPI_MODE_24BIT:
puts("QSPI_MODE_24\n");
- if (uclass_get_device_by_name(UCLASS_SPI,
- "spi at f1030000", &dev)) {
- debug("QSPI driver for QSPI device is not present\n");
- break;
- }
- bootseq = dev_seq(dev);
+ name = "spi at f1030000";
break;
case QSPI_MODE_32BIT:
puts("QSPI_MODE_32\n");
- if (uclass_get_device_by_name(UCLASS_SPI,
- "spi at f1030000", &dev)) {
- debug("QSPI driver for QSPI device is not present\n");
- break;
- }
- bootseq = dev_seq(dev);
+ name = "spi at f1030000";
break;
case OSPI_MODE:
puts("OSPI_MODE\n");
- if (uclass_get_device_by_name(UCLASS_SPI,
- "spi at f1010000", &dev)) {
- debug("OSPI driver for OSPI device is not present\n");
- break;
- }
- bootseq = dev_seq(dev);
+ name = "spi at f1010000";
break;
default:
- break;
+ return -1;
}
+ if (uclass_get_device_by_name(UCLASS_SPI, name, &dev)) {
+ debug("SPI driver for %s is not present\n", name);
+ return -1;
+ }
+
+ bootseq = dev_seq(dev);
debug("bootseq %d\n", bootseq);
+
return bootseq;
}
--
2.43.0
More information about the U-Boot
mailing list