Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Luca Ceresoli via buildroot <buildroot@buildroot.org>
To: Neal Frager <neal.frager@amd.com>
Cc: yann.morin@orange.com, ibai.erkiaga-elorza@amd.com,
	buildroot@buildroot.org, brandon.maier@collins.com, ju.o@free.fr,
	thomas.petazzoni@bootlin.com, romain.naour@smile.fr,
	michal.simek@amd.com, romain.naour@gmail.com
Subject: Re: [Buildroot] [PATCH v1 1/1] boot/xilinx-prebuilt: simplify family logic
Date: Tue, 30 Sep 2025 13:07:38 +0200	[thread overview]
Message-ID: <20250930130738.4948264b@booty> (raw)
In-Reply-To: <20250929070052.132796-1-neal.frager@amd.com>

Hello Neal,

On Mon, 29 Sep 2025 08:00:52 +0100
Neal Frager <neal.frager@amd.com> wrote:

> Currently, the xilinx-prebuilt package uses an if-then-else statement for
> deciding which files need to be installed from the xilinx-prebuilt repo. This
> works fine for now because there are really only two options, either versal or
> zynqmp/kria.
> 
> Starting with the xilinx_v2025.2 release, the versal2 family along with the
> vek385 board will be added to Buildroot and thus the xilinx-prebuilt package
> as well. In the future, additional families will also probably be added to
> this package.
> 
> To avoid creating a long if-then-else-then-else statement which will only grow
> in complexity over time, simplify the logic of the xilinx-prebuilt package by
> giving each xilinx family its own if statement. In the long term, this will
> make the xilinx-prebuilt package easier to understand and maintain.

OK for splitting the if/then construct which is not very readable as of
now.

> For this reason, this patch moves the zynqmp/kria families from the "else"
> statement to having their own if statement.

Not sure about this, see below.

> --- a/boot/xilinx-prebuilt/xilinx-prebuilt.mk
> +++ b/boot/xilinx-prebuilt/xilinx-prebuilt.mk
> @@ -103,21 +103,32 @@ define XILINX_PREBUILT_INSTALL_VERSAL_PSMFW
>  		$(BINARIES_DIR)/psmfw.elf
>  endef
>  endif # !BR2_TARGET_XILINX_EMBEDDEDSW_VERSAL_PSMFW
> +endif # BR2_TARGET_XILINX_PREBUILT_VERSAL
> +
> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_KRIA),y)
> +ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y)
> +define XILINX_PREBUILT_INSTALL_KRIA_PMUFW
> +	$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/pmufw.elf \
> +		$(BINARIES_DIR)/pmufw.elf
> +endef
> +endif # !BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
> +endif # BR2_TARGET_XILINX_PREBUILT_KRIA
>  
> -else # BR2_TARGET_XILINX_PREBUILT_VERSAL
> +ifeq ($(BR2_TARGET_XILINX_PREBUILT_ZYNQMP),y)
>  ifneq ($(BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW),y)
>  define XILINX_PREBUILT_INSTALL_ZYNQMP_PMUFW
>  	$(INSTALL) -D -m 0755 $(XILINX_PREBUILT_BOARD_DIR)/pmufw.elf \
>  		$(BINARIES_DIR)/pmufw.elf
>  endef
>  endif # !BR2_TARGET_XILINX_EMBEDDEDSW_ZYNQMP_PMUFW
> -endif # BR2_TARGET_XILINX_PREBUILT_VERSAL
> +endif # BR2_TARGET_XILINX_PREBUILT_ZYNQMP

zynqmp and kria are doing the same thing (normal, as kria is a zynqmp),
so those are duplicated function. Unless you expect them to become
different, then I'd leave them as a single function. One of these
should work:

ifeq ($(BR2_TARGET_XILINX_PREBUILT_ZYNQMP)$(BR2_TARGET_XILINX_PREBUILT_KRIA),y)
...
endif

ifneq ($(BR2_TARGET_XILINX_PREBUILT_ZYNQMP)$(BR2_TARGET_XILINX_PREBUILT_KRIA),)
...
endif

Luca

-- 
Luca Ceresoli, Bootlin
Embedded Linux and Kernel engineering
https://bootlin.com
_______________________________________________
buildroot mailing list
buildroot@buildroot.org
https://lists.buildroot.org/mailman/listinfo/buildroot

  reply	other threads:[~2025-09-30 11:08 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-29  7:00 [Buildroot] [PATCH v1 1/1] boot/xilinx-prebuilt: simplify family logic Neal Frager via buildroot
2025-09-30 11:07 ` Luca Ceresoli via buildroot [this message]
2025-09-30 12:33   ` Frager, Neal via buildroot

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250930130738.4948264b@booty \
    --to=buildroot@buildroot.org \
    --cc=brandon.maier@collins.com \
    --cc=ibai.erkiaga-elorza@amd.com \
    --cc=ju.o@free.fr \
    --cc=luca.ceresoli@bootlin.com \
    --cc=michal.simek@amd.com \
    --cc=neal.frager@amd.com \
    --cc=romain.naour@gmail.com \
    --cc=romain.naour@smile.fr \
    --cc=thomas.petazzoni@bootlin.com \
    --cc=yann.morin@orange.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox