[PATCH 1/1] boot: fix bootdev_list()
Simon Glass
sjg at chromium.org
Mon Jul 31 19:08:09 CEST 2023
Hi Heinrich,
On Sun, 30 Jul 2023 at 08:29, Heinrich Schuchardt
<heinrich.schuchardt at 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 at 0.bootdev
>
> Convert the status to a positive number. Now we get
>
> Seq Probed Status Uclass Name
> --- ------ ------ -------- ------------------
> c [ ] 2 spi_flash spi.bin at 0.bootdev
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at 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
More information about the U-Boot
mailing list