Subject: Re: [PATCH v18 03/11] of: Add a common kexec FDT setup function

From: Guenter Roeck <[email-masked]>
Date: Sun, 21 Feb 2021 17:32:07 -0800

On Sat, Feb 13, 2021 at 08:10:41AM -0800, Lakshmi Ramasubramanian wrote:
> From: Rob Herring <[email-masked]>
> 
> Both arm64 and powerpc do essentially the same FDT /chosen setup for
> kexec.  The differences are either omissions that arm64 should have
> or additional properties that will be ignored.  The setup code can be
> combined and shared by both powerpc and arm64.
> 
> The differences relative to the arm64 version:
>  - If /chosen doesn't exist, it will be created (should never happen).
>  - Any old dtb and initrd reserved memory will be released.
>  - The new initrd and elfcorehdr are marked reserved.
>  - "linux,booted-from-kexec" is set.
> 
> The differences relative to the powerpc version:
>  - "kaslr-seed" and "rng-seed" may be set.
>  - "linux,elfcorehdr" is set.
>  - Any existing "linux,usable-memory-range" is removed.
> 
> Combine the code for setting up the /chosen node in the FDT and updating
> the memory reservation for kexec, for powerpc and arm64, in
> of_kexec_alloc_and_setup_fdt() and move it to "drivers/of/kexec.c".
> 
> Signed-off-by: Rob Herring <[email-masked]>
> Signed-off-by: Lakshmi Ramasubramanian <[email-masked]>

s390:allmodconfig:

drivers/of/kexec.c: In function 'of_kexec_alloc_and_setup_fdt':
drivers/of/kexec.c:378:10: error: 'const struct kimage' has no member named 'arch'
  378 |     image->arch.elf_load_addr,
      |          ^~
drivers/of/kexec.c:379:10: error: 'const struct kimage' has no member named 'arch'
  379 |     image->arch.elf_headers_sz);
      |          ^~
drivers/of/kexec.c:387:35: error: 'const struct kimage' has no member named 'arch'
  387 |   ret = fdt_add_mem_rsv(fdt, image->arch.elf_load_addr,
      |                                   ^~
drivers/of/kexec.c:388:16: error: 'const struct kimage' has no member named 'arch'
  388 |           image->arch.elf_headers_sz);
      |                ^~

Guenter