From: Alexey Brodkin <Alexey.Brodkin@synopsys.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v2] libfdt: replace ARCH_FIXUP_FDT with ARCH_FIXUP_FDT_MEMORY
Date: Thu, 20 Oct 2016 11:55:35 +0000 [thread overview]
Message-ID: <1476964504.2577.4.camel@synopsys.com> (raw)
In-Reply-To: <1476922559-22084-1-git-send-email-yamada.masahiro@socionext.com>
Hello Masahiro-san,
On Thu, 2016-10-20 at 09:15 +0900, Masahiro Yamada wrote:
> Commit e2f88dfd2d96 ("libfdt: Introduce new ARCH_FIXUP_FDT option")
> allows us to skip memory setup of DTB, but a problem for ARM is that
> spin_table_update_dt() and psci_update_dt() are skipped as well if
> CONFIG_ARCH_FIXUP_FDT is disabled.
>
> This commit allows us to skip only fdt_fixup_memory_banks() instead
> of the whole of arch_fixup_fdt().??It will be useful when we want to
> use a memory node from a kernel DTB as is, but need some fixups for
> Spin-Table/PSCI.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> ---
>
> Changes in v2:
> ?- Add empty stub to ARC, PowerPC, Microblaze instead of
> ???a weak function common/image-fdt.c
[snip]
> diff --git a/arch/arc/lib/bootm.c b/arch/arc/lib/bootm.c
> index 04d9d9c..5798149 100644
> --- a/arch/arc/lib/bootm.c
> +++ b/arch/arc/lib/bootm.c
> @@ -37,6 +37,11 @@ void arch_lmb_reserve(struct lmb *lmb)
> ? lmb_reserve(lmb, sp, (CONFIG_SYS_SDRAM_BASE + gd->ram_size - sp));
> ?}
> ?
> +int arch_fixup_fdt(void *blob)
> +{
> + return 0;
> +}
> +
I'm wondering why don't we add weak implementation of?arch_fixup_fdt()
right in say?common/image-fdt.c? This will allow us to not add dummy stubs
for those arches that don't really use it.
> diff --git a/common/image-fdt.c b/common/image-fdt.c
> index 5454227..e7540be 100644
> --- a/common/image-fdt.c
> +++ b/common/image-fdt.c
> @@ -474,12 +474,10 @@ int image_setup_libfdt(bootm_headers_t *images, void *blob,
> ? printf("ERROR: /chosen node create failed\n");
> ? goto err;
> ? }
> -#ifdef CONFIG_ARCH_FIXUP_FDT
> ? if (arch_fixup_fdt(blob) < 0) {
> ? printf("ERROR: arch-specific fdt fixup failed\n");
> ? goto err;
> ? }
> -#endif
> ? if (IMAGE_OF_BOARD_SETUP) {
> ? fdt_ret = ft_board_setup(blob, gd->bd);
> ? if (fdt_ret) {
> diff --git a/include/fdt_support.h b/include/fdt_support.h
> index 506bc5a..955c121 100644
> --- a/include/fdt_support.h
> +++ b/include/fdt_support.h
> @@ -93,7 +93,15 @@ int fdt_fixup_memory(void *blob, u64 start, u64 size);
> ? * property will be left untouched.
> ? * @return 0 if ok, or -1 or -FDT_ERR_... on error
> ? */
> +#ifdef CONFIG_ARCH_FIXUP_FDT_MEMORY
> ?int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[], int banks);
> +#else
> +static inline int fdt_fixup_memory_banks(void *blob, u64 start[], u64 size[],
> + ?int banks)
> +{
> + return 0;
> +}
> +#endif
-Alexey
next prev parent reply other threads:[~2016-10-20 11:55 UTC|newest]
Thread overview: 7+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-10-20 0:15 [U-Boot] [PATCH v2] libfdt: replace ARCH_FIXUP_FDT with ARCH_FIXUP_FDT_MEMORY Masahiro Yamada
2016-10-20 11:55 ` Alexey Brodkin [this message]
2016-10-21 1:58 ` Masahiro Yamada
2016-10-21 7:12 ` Alexey Brodkin
2016-10-24 3:01 ` Simon Glass
2016-11-25 19:37 ` Simon Glass
2016-11-26 2:07 ` Masahiro Yamada
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=1476964504.2577.4.camel@synopsys.com \
--to=alexey.brodkin@synopsys.com \
--cc=u-boot@lists.denx.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.