
Hi Heinrich,
On Sun, 30 Jul 2023 at 08:29, Heinrich Schuchardt heinrich.schuchardt@canonical.com wrote:
uclass_get_device_by_name() is meant to return 0 or a negative error code. simple_itoa() cannot handle negative numbers.
This leads to output like:
=> bootdev list -p Seq Probed Status Uclass Name --- ------ ------ -------- ------------------ c [ ] 18446744073709551614 spi_flash spi.bin@0.bootdev
Convert the status to a positive number. Now we get
Seq Probed Status Uclass Name --- ------ ------ -------- ------------------ c [ ] 2 spi_flash spi.bin@0.bootdev
Signed-off-by: Heinrich Schuchardt heinrich.schuchardt@canonical.com
boot/bootdev-uclass.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/boot/bootdev-uclass.c b/boot/bootdev-uclass.c index 9660ff7567..3f2c8d7153 100644 --- a/boot/bootdev-uclass.c +++ b/boot/bootdev-uclass.c @@ -216,7 +216,7 @@ void bootdev_list(bool probe) for (i = 0; dev; i++) { printf("%3x [ %c ] %6s %-9.9s %s\n", dev_seq(dev), device_active(dev) ? '+' : ' ',
ret ? simple_itoa(ret) : "OK",
ret ? simple_itoa(-ret) : "OK", dev_get_uclass_name(dev_get_parent(dev)), dev->name); if (probe) ret = uclass_next_device_check(&dev);
-- 2.40.1
Thanks for the fix, but can you make it put the negative sign before the value? It is confusing otherwise.
Regards, Simon