Message ID | 20250112223528.179828-8-marek.vasut+renesas@mailbox.org |
---|---|
State | Accepted |
Delegated to: | Marek Vasut |
Headers | show |
Series | [1/8] ARM: renesas: Rename board/renesas/rcar-common to board/renesas/common | expand |
Hi Marek, On 1/12/25 11:34 PM, Marek Vasut wrote: > Move R-Car Gen3 and Gen4 jump_to_image_no_args() into dedicated > rcar64-spl.c file. The implementation of jump_to_image_no_args() > is identical. No functional change. > > Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> This is just factoring code and looks fine to me, Reviewed-by: Quentin Schulz <quentin.schulz@cherry.de> > --- > Cc: Adam Ford <aford173@gmail.com> > Cc: Biju Das <biju.das.jz@bp.renesas.com> > Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> > Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> > Cc: Paul Barker <paul.barker.ct@bp.renesas.com> > Cc: Simon Glass <sjg@chromium.org> > Cc: Tom Rini <trini@konsulko.com> > Cc: u-boot@lists.denx.de > --- > board/renesas/common/Makefile | 4 +++- > board/renesas/common/gen3-spl.c | 21 --------------------- > board/renesas/common/gen4-spl.c | 17 ----------------- > board/renesas/common/rcar64-spl.c | 24 ++++++++++++++++++++++++ > 4 files changed, 27 insertions(+), 39 deletions(-) > create mode 100644 board/renesas/common/rcar64-spl.c > > diff --git a/board/renesas/common/Makefile b/board/renesas/common/Makefile > index e6dde3c2597..7a9f3a25440 100644 > --- a/board/renesas/common/Makefile > +++ b/board/renesas/common/Makefile > @@ -15,7 +15,9 @@ endif > > # 64 bit SoCs > ifdef CONFIG_RCAR_64 > -ifndef CONFIG_XPL_BUILD > +ifdef CONFIG_XPL_BUILD > +obj-y += rcar64-spl.o > +else > obj-y += rcar64-common.o > endif > Wondering if we couldn't use variables to make the Makefile a bit easier on the eye (though not necessarily more readable)? Something like ifdef CONFIG_XPL_BUILD SPL_COMMON := spl else SPL_COMMON := common endif obj-y += rcar64-$(SPL_COMMON).o Then we could use it for gen3 and gen4 object files as well for example. I really struggle to parse Makefile/C code when there are a lot of ifdefs especially once they get nested, but maybe that's just me :) Thanks! Quentin
On 1/15/25 11:34 AM, Quentin Schulz wrote: [...] > Wondering if we couldn't use variables to make the Makefile a bit easier > on the eye (though not necessarily more readable)? > > Something like > > ifdef CONFIG_XPL_BUILD > SPL_COMMON := spl > else > SPL_COMMON := common > endif > > obj-y += rcar64-$(SPL_COMMON).o > > Then we could use it for gen3 and gen4 object files as well for example. > > I really struggle to parse Makefile/C code when there are a lot of > ifdefs especially once they get nested, but maybe that's just me :) What I would like even a bit more would be: obj-$(!SYMBOL) += An inverted match, add stuff into build if symbol is not set.
diff --git a/board/renesas/common/Makefile b/board/renesas/common/Makefile index e6dde3c2597..7a9f3a25440 100644 --- a/board/renesas/common/Makefile +++ b/board/renesas/common/Makefile @@ -15,7 +15,9 @@ endif # 64 bit SoCs ifdef CONFIG_RCAR_64 -ifndef CONFIG_XPL_BUILD +ifdef CONFIG_XPL_BUILD +obj-y += rcar64-spl.o +else obj-y += rcar64-common.o endif diff --git a/board/renesas/common/gen3-spl.c b/board/renesas/common/gen3-spl.c index 44a20cef2df..9590b5d6a2e 100644 --- a/board/renesas/common/gen3-spl.c +++ b/board/renesas/common/gen3-spl.c @@ -5,13 +5,9 @@ * Copyright (C) 2019 Marek Vasut <marek.vasut@gmail.com> */ -#include <cpu_func.h> -#include <image.h> #include <init.h> -#include <log.h> #include <asm/io.h> #include <spl.h> -#include <linux/bitops.h> #define RCAR_CNTC_BASE 0xE6080000 #define CNTCR_EN BIT(0) @@ -33,23 +29,6 @@ u32 spl_boot_device(void) return BOOT_DEVICE_UART; } -void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) -{ - debug("image entry point: 0x%lx\n", spl_image->entry_point); - if (spl_image->os == IH_OS_ARM_TRUSTED_FIRMWARE) { - typedef void (*image_entry_arg_t)(int, int, int, int) - __attribute__ ((noreturn)); - image_entry_arg_t image_entry = - (image_entry_arg_t)(uintptr_t) spl_image->entry_point; - image_entry(IH_MAGIC, CONFIG_SPL_TEXT_BASE, 0, 0); - } else { - typedef void __noreturn (*image_entry_noargs_t)(void); - image_entry_noargs_t image_entry = - (image_entry_noargs_t)spl_image->entry_point; - image_entry(); - } -} - void s_init(void) { } diff --git a/board/renesas/common/gen4-spl.c b/board/renesas/common/gen4-spl.c index 2aca8baf3dd..e46ef0a3075 100644 --- a/board/renesas/common/gen4-spl.c +++ b/board/renesas/common/gen4-spl.c @@ -76,23 +76,6 @@ struct legacy_img_hdr *spl_get_load_buffer(ssize_t offset, size_t size) return map_sysmem(CONFIG_SYS_LOAD_ADDR + offset, 0); } -void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) -{ - debug("image entry point: 0x%lx\n", spl_image->entry_point); - if (spl_image->os == IH_OS_ARM_TRUSTED_FIRMWARE) { - typedef void (*image_entry_arg_t)(int, int, int, int) - __attribute__ ((noreturn)); - image_entry_arg_t image_entry = - (image_entry_arg_t)(uintptr_t) spl_image->entry_point; - image_entry(IH_MAGIC, CONFIG_SPL_TEXT_BASE, 0, 0); - } else { - typedef void __noreturn (*image_entry_noargs_t)(void); - image_entry_noargs_t image_entry = - (image_entry_noargs_t)spl_image->entry_point; - image_entry(); - } -} - #define APMU_BASE 0xe6170000U #define CL0GRP3_BIT BIT(3) #define CL1GRP3_BIT BIT(7) diff --git a/board/renesas/common/rcar64-spl.c b/board/renesas/common/rcar64-spl.c new file mode 100644 index 00000000000..76f2bde924e --- /dev/null +++ b/board/renesas/common/rcar64-spl.c @@ -0,0 +1,24 @@ +// SPDX-License-Identifier: GPL-2.0+ +/* + * Copyright (C) 2024 Marek Vasut <marek.vasut+renesas@mailbox.org> + */ + +#include <image.h> +#include <spl.h> + +void __noreturn jump_to_image_no_args(struct spl_image_info *spl_image) +{ + debug("image entry point: 0x%lx\n", spl_image->entry_point); + if (spl_image->os == IH_OS_ARM_TRUSTED_FIRMWARE) { + typedef void (*image_entry_arg_t)(int, int, int, int) + __attribute__ ((noreturn)); + image_entry_arg_t image_entry = + (image_entry_arg_t)(uintptr_t) spl_image->entry_point; + image_entry(IH_MAGIC, CONFIG_SPL_TEXT_BASE, 0, 0); + } else { + typedef void __noreturn (*image_entry_noargs_t)(void); + image_entry_noargs_t image_entry = + (image_entry_noargs_t)spl_image->entry_point; + image_entry(); + } +}
Move R-Car Gen3 and Gen4 jump_to_image_no_args() into dedicated rcar64-spl.c file. The implementation of jump_to_image_no_args() is identical. No functional change. Signed-off-by: Marek Vasut <marek.vasut+renesas@mailbox.org> --- Cc: Adam Ford <aford173@gmail.com> Cc: Biju Das <biju.das.jz@bp.renesas.com> Cc: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Paul Barker <paul.barker.ct@bp.renesas.com> Cc: Simon Glass <sjg@chromium.org> Cc: Tom Rini <trini@konsulko.com> Cc: u-boot@lists.denx.de --- board/renesas/common/Makefile | 4 +++- board/renesas/common/gen3-spl.c | 21 --------------------- board/renesas/common/gen4-spl.c | 17 ----------------- board/renesas/common/rcar64-spl.c | 24 ++++++++++++++++++++++++ 4 files changed, 27 insertions(+), 39 deletions(-) create mode 100644 board/renesas/common/rcar64-spl.c