(Cc'ing ia64 maintainers) On Sun, 10 Jan, at 09:04:09PM, Ard Biesheuvel wrote: > The code in efi.c uses early_memremap(), but relies on a transitive > include rather than including asm/early_ioremap.h directly. > Unfortunately, this header does not exist on ia64, so it cannot be > included directly. > > Commit f7d924894265 ("arm64/efi: refactor EFI init and runtime code > for reuse by 32-bit ARM") attempted to work around this by including > asm/efi.h, which transitively includes asm/early_ioremap.h on most > architectures. However, since asm/efi.h does not exist on ia64 either, > this is not much of an improvement. > > So instead, just include asm/early_ioremap.h directly, unless CONFIG_IA64 > is defined. > > Fixes: f7d924894265 ("arm64/efi: refactor EFI init and runtime code for reuse by 32-bit ARM") > Cc: Will Deacon <will.deacon@xxxxxxx> > Reported-by: Guenter Roeck <linux@xxxxxxxxxxxx> > Signed-off-by: Ard Biesheuvel <ard.biesheuvel@xxxxxxxxxx> > --- > drivers/firmware/efi/efi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/firmware/efi/efi.c b/drivers/firmware/efi/efi.c > index cffa89b3317b..53f71177824f 100644 > --- a/drivers/firmware/efi/efi.c > +++ b/drivers/firmware/efi/efi.c > @@ -25,7 +25,9 @@ > #include <linux/io.h> > #include <linux/platform_device.h> > > -#include <asm/efi.h> > +#ifndef CONFIG_IA64 > +#include <asm/early_ioremap.h> > +#endif > > struct efi __read_mostly efi = { > .mps = EFI_INVALID_TABLE_ADDR, I certainly can't think of a better way to fix this right now. Tony, Fenghua do you guys have any suggestions? Reviewed-by: Matt Fleming <matt@xxxxxxxxxxxxxxxxxxx> -- To unsubscribe from this list: send the line "unsubscribe linux-efi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html