Hi all,
Today's linux-next merge of the tip tree got a conflict in:
drivers/firmware/efi/arm-init.c
between commits:
500899c2cc3e ("efi: ARM/arm64: ignore DT memory nodes instead of removing them")
7464b6e3a5fb ("efi: ARM: avoid warning about phys_addr_t cast")
from the arm64 tree and commits:
78ce248faa3c ("efi: Iterate over efi.memmap in for_each_efi_memory_desc()")
884f4f66ffd6 ("efi: Remove global 'memmap' EFI memory map")
from the tip tree.
I fixed it up (see below) and can carry the fix as necessary. This
is now fixed as far as linux-next is concerned, but any non trivial
conflicts should be mentioned to your upstream maintainer when your tree
is submitted for merging. You may also want to consider cooperating
with the maintainer of the conflicting tree to minimise any particularly
complex conflicts.
--
Cheers,
Stephen Rothwell
diff --cc drivers/firmware/efi/arm-init.c
index fac567c3b66a,ef90f0c4b70a..000000000000
--- a/drivers/firmware/efi/arm-init.c
+++ b/drivers/firmware/efi/arm-init.c
@@@ -143,15 -178,7 +178,15 @@@ static __init void reserve_regions(void
if (efi_enabled(EFI_DBG))
pr_info("Processing EFI memory map:\n");
+ /*
+ * Discard memblocks discovered so far: if there are any at this
+ * point, they originate from memory nodes in the DT, and UEFI
+ * uses its own memory map instead.
+ */
+ memblock_dump_all();
+ memblock_remove(0, (phys_addr_t)ULLONG_MAX);
+
- for_each_efi_memory_desc(&memmap, md) {
+ for_each_efi_memory_desc(md) {
paddr = md->phys_addr;
npages = md->num_pages;
On Fri, 29 Apr, at 01:56:45PM, Stephen Rothwell wrote:
> Hi all,
>
> Today's linux-next merge of the tip tree got a conflict in:
>
> drivers/firmware/efi/arm-init.c
>
> between commits:
>
> 500899c2cc3e ("efi: ARM/arm64: ignore DT memory nodes instead of removing them")
> 7464b6e3a5fb ("efi: ARM: avoid warning about phys_addr_t cast")
>
> from the arm64 tree and commits:
>
> 78ce248faa3c ("efi: Iterate over efi.memmap in for_each_efi_memory_desc()")
> 884f4f66ffd6 ("efi: Remove global 'memmap' EFI memory map")
>
> from the tip tree.
[...]
> diff --cc drivers/firmware/efi/arm-init.c
> index fac567c3b66a,ef90f0c4b70a..000000000000
> --- a/drivers/firmware/efi/arm-init.c
> +++ b/drivers/firmware/efi/arm-init.c
> @@@ -143,15 -178,7 +178,15 @@@ static __init void reserve_regions(void
> if (efi_enabled(EFI_DBG))
> pr_info("Processing EFI memory map:\n");
>
> + /*
> + * Discard memblocks discovered so far: if there are any at this
> + * point, they originate from memory nodes in the DT, and UEFI
> + * uses its own memory map instead.
> + */
> + memblock_dump_all();
> + memblock_remove(0, (phys_addr_t)ULLONG_MAX);
> +
> - for_each_efi_memory_desc(&memmap, md) {
> + for_each_efi_memory_desc(md) {
> paddr = md->phys_addr;
> npages = md->num_pages;
>
This looks fine, thanks Stephen.