efi: Allow expression as func argument to efi_call_* macros on all platforms
On EFI platforms where EFI calls do not require a wrapper (notably i386-efi and arm64-efi), the func argument needs to be wrapped in parenthesis to allow valid syntax when func is an expression which evaluates to a function pointer. On EFI platforms that do need a wrapper, this was never an issue because func is passed to the C function wrapper as an argument and thus does not need parenthesis to be evaluated. Signed-off-by: Glenn Washburn <development@efficientek.com> Reviewed-by: Daniel Kiper <daniel.kiper@oracle.com>
This commit is contained in:
parent
cd96802190
commit
be0b23ef99
@ -1799,15 +1799,15 @@ typedef struct initrd_media_device_path initrd_media_device_path_t;
|
||||
|| defined (__aarch64__) || defined (__MINGW64__) || defined (__CYGWIN__) \
|
||||
|| defined(__riscv)
|
||||
|
||||
#define efi_call_0(func) func()
|
||||
#define efi_call_1(func, a) func(a)
|
||||
#define efi_call_2(func, a, b) func(a, b)
|
||||
#define efi_call_3(func, a, b, c) func(a, b, c)
|
||||
#define efi_call_4(func, a, b, c, d) func(a, b, c, d)
|
||||
#define efi_call_5(func, a, b, c, d, e) func(a, b, c, d, e)
|
||||
#define efi_call_6(func, a, b, c, d, e, f) func(a, b, c, d, e, f)
|
||||
#define efi_call_7(func, a, b, c, d, e, f, g) func(a, b, c, d, e, f, g)
|
||||
#define efi_call_10(func, a, b, c, d, e, f, g, h, i, j) func(a, b, c, d, e, f, g, h, i, j)
|
||||
#define efi_call_0(func) (func)()
|
||||
#define efi_call_1(func, a) (func)(a)
|
||||
#define efi_call_2(func, a, b) (func)(a, b)
|
||||
#define efi_call_3(func, a, b, c) (func)(a, b, c)
|
||||
#define efi_call_4(func, a, b, c, d) (func)(a, b, c, d)
|
||||
#define efi_call_5(func, a, b, c, d, e) (func)(a, b, c, d, e)
|
||||
#define efi_call_6(func, a, b, c, d, e, f) (func)(a, b, c, d, e, f)
|
||||
#define efi_call_7(func, a, b, c, d, e, f, g) (func)(a, b, c, d, e, f, g)
|
||||
#define efi_call_10(func, a, b, c, d, e, f, g, h, i, j) (func)(a, b, c, d, e, f, g, h, i, j)
|
||||
|
||||
#else
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user