[PATCH] We're getting efi_runtime build warnings with recent kernels:
Colin King
colin.king at canonical.com
Fri Jul 5 12:08:06 UTC 2013
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) {
--
1.8.1.2
More information about the fwts-devel
mailing list