Re: [PATCH 1/3] Convert efi_call_virt to efi_call_virt_generic

From: Alex Thorlton
Date: Thu Jun 02 2016 - 12:23:42 EST


On Thu, Jun 02, 2016 at 04:41:14PM +0100, Matt Fleming wrote:
> Oops, you're missing updates to the 32-bit version and ARM/arm64,
> which results in this,
>
> drivers/firmware/efi/runtime-wrappers.c: In function âvirt_efi_get_timeâ:
> arch/x86/include/asm/efi.h:46:4: error: âefi_efiâ undeclared (first use in this function)
> ((efi_##f##_t __attribute__((regparm(0)))*) \
> ^
>
> but that's easily fixed up.

Oops! Sorry about that. I had done a pretty recent pull before I did
my last build, but it was probably before these updates came in. I'll
rebase my patches onto the latest tip kernel and fix this.

> > +/*
> > + * Wrap around the new efi_call_virt_generic macros so that the
> > + * code doesn't get too cluttered
> > + */
> > +#define efi_call_virt(f, args...) \
> > + efi_call_virt_generic(efi.systab->runtime, f, args)
> > +#define __efi_call_virt(f, args...) \
> > + __efi_call_virt_generic(efi.systab->runtime, f, args)
> > +
> > +void efi_call_virt_check_flags(unsigned long flags, const char *call)
> > {
> > unsigned long cur_flags, mismatch;
> >
>
> I'm not crazy about using "generic" in the name. How about
> efi_call_virt_function() or efi_call_virt_pointer()?

I'm not married to "generic." I'll change it to efi_call_virt_pointer.
I think efi_call_virt_function is a little confusing/redundant, since a
call is always to a function, right?

I will fix this stuff up and send a v2.

Thanks for looking this over, Matt!

- Alex