ACK: [PATCH] We're getting efi_runtime build warnings with recent kernels:
Alex Hung
alex.hung at canonical.com
Mon Jul 8 01:58:34 UTC 2013
On 07/05/2013 08:08 PM, Colin King wrote:
> From: Colin Ian King <colin.king at canonical.com>
>
> make -C /lib/modules/`uname -r`/build M=`pwd` modules
> make[1]: Entering directory `/usr/src/linux-headers-3.8.0-25-generic'
> CC [M] /home/king/tmp/fwts/efi_runtime/efi_runtime.o
> /home/king/tmp/fwts/efi_runtime/efi_runtime.c: In function ‘efi_runtime_init’:
> /home/king/tmp/fwts/efi_runtime/efi_runtime.c:364:6: warning: the address of ‘efi_enabled’ will always evaluate as ‘true’ [-Waddress]
>
> This occurs because of kernel commit 83e681897 which turned efi_enabled from an integer into a function, hence efi_enabled will always now evaluate as true.
> The commit introduced macro EFI_RUNTIME_SERVICES so if this is defined we
> call efi_enabled() otherwise efi_enabled is a plain int. So use this macro
> to determine if we are using historic or new efi_enabled for different kernel
> versions.
>
> Signed-off-by: Colin Ian King <colin.king at canonical.com>
> ---
> efi_runtime/efi_runtime.c | 11 ++++++++++-
> 1 file changed, 10 insertions(+), 1 deletion(-)
>
> diff --git a/efi_runtime/efi_runtime.c b/efi_runtime/efi_runtime.c
> index 63fea7b..73171df 100644
> --- a/efi_runtime/efi_runtime.c
> +++ b/efi_runtime/efi_runtime.c
> @@ -34,6 +34,13 @@ MODULE_AUTHOR("Ivan Hu");
> MODULE_DESCRIPTION("EFI Runtime Driver");
> MODULE_LICENSE("GPL");
>
> +/* commit 83e681897 turned efi_enabled into a function, so abstract it */
> +#ifdef EFI_RUNTIME_SERVICES
> +#define EFI_RUNTIME_ENABLED efi_enabled(EFI_RUNTIME_SERVICES)
> +#else
> +#define EFI_RUNTIME_ENABLED efi_enabled
> +#endif
> +
> static void convert_from_efi_time(efi_time_t *eft, EFI_TIME *time)
> {
> memset(time, 0, sizeof(EFI_TIME));
> @@ -361,8 +368,10 @@ static int __init efi_runtime_init(void)
>
> printk(KERN_INFO "EFI_RUNTIME Driver v%s\n", EFI_FWTS_EFI_VERSION);
>
> - if (!efi_enabled)
> + if (!EFI_RUNTIME_ENABLED) {
> + printk(KERN_INFO "EFI runtime services not enabled.\n");
> return -ENODEV;
> + }
>
> ret = misc_register(&efi_runtime_dev);
> if (ret) {
>
Acked-by: Alex Hung <alex.hung at canonical.com>
More information about the fwts-devel
mailing list