[PATCH 1/6] efi_loader: avoid #ifdef in efi_dp_from_name()

Ilias Apalodimas ilias.apalodimas at linaro.org
Mon May 15 09:37:01 CEST 2023


Hi Heinrich,

Looking at this function can we clean it up since you are touching it already?

I think it would look nicer if you defined a local variable of struct
efi_device_path * and always assign it in the if cases.

Then at the bottom of the function, we could store the ptr value if
that exists.  While at it the 'if (!*file)' seems to be misplaced.

Regards
/Ilias

On Sat, 13 May 2023 at 11:48, Heinrich Schuchardt
<heinrich.schuchardt at canonical.com> wrote:
>
> According to our coding style guide #ifdef should be avoided.
> Use IS_ENABLED() instead.
>
> Sort string comparisons alphabetically.
>
> Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt at canonical.com>
> ---
>  lib/efi_loader/efi_device_path.c | 20 ++++++++------------
>  1 file changed, 8 insertions(+), 12 deletions(-)
>
> diff --git a/lib/efi_loader/efi_device_path.c b/lib/efi_loader/efi_device_path.c
> index 20ad948498..a6a6ef0d6c 100644
> --- a/lib/efi_loader/efi_device_path.c
> +++ b/lib/efi_loader/efi_device_path.c
> @@ -1079,8 +1079,7 @@ struct efi_device_path *efi_dp_from_uart(void)
>         return buf;
>  }
>
> -#ifdef CONFIG_NETDEVICES
> -struct efi_device_path *efi_dp_from_eth(void)
> +struct efi_device_path __maybe_unused *efi_dp_from_eth(void)
>  {
>         void *buf, *start;
>         unsigned dpsize = 0;
> @@ -1099,7 +1098,6 @@ struct efi_device_path *efi_dp_from_eth(void)
>
>         return start;
>  }
> -#endif
>
>  /* Construct a device-path for memory-mapped image */
>  struct efi_device_path *efi_dp_from_mem(uint32_t memory_type,
> @@ -1195,15 +1193,7 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
>         if (path && !file)
>                 return EFI_INVALID_PARAMETER;
>
> -       if (!strcmp(dev, "Net")) {
> -#ifdef CONFIG_NETDEVICES
> -               if (device)
> -                       *device = efi_dp_from_eth();
> -#endif
> -       } else if (!strcmp(dev, "Uart")) {
> -               if (device)
> -                       *device = efi_dp_from_uart();
> -       } else if (!strcmp(dev, "Mem") || !strcmp(dev, "hostfs"))  {
> +       if (!strcmp(dev, "Mem") || !strcmp(dev, "hostfs"))  {
>                 /* loadm command and semihosting */
>                 efi_get_image_parameters(&image_addr, &image_size);
>
> @@ -1211,6 +1201,12 @@ efi_status_t efi_dp_from_name(const char *dev, const char *devnr,
>                         *device = efi_dp_from_mem(EFI_RESERVED_MEMORY_TYPE,
>                                                   (uintptr_t)image_addr,
>                                                   image_size);
> +       } else if (IS_ENABLED(CONFIG_NETDEVICES) && !strcmp(dev, "Net")) {
> +               if (device)
> +                       *device = efi_dp_from_eth();
> +       } else if (!strcmp(dev, "Uart")) {
> +               if (device)
> +                       *device = efi_dp_from_uart();
>         } else {
>                 part = blk_get_device_part_str(dev, devnr, &desc, &fs_partition,
>                                                1);
> --
> 2.39.2
>


More information about the U-Boot mailing list