[PATCH 1/3] x86: KVM: Fix warnings by returning bool

From: Emil Goode
Date: Sun Jan 27 2013 - 11:38:12 EST


The function pointer x2apic_available in struct hypervisor_x86 is
supposed to point to functions that return bool. This patch changes
the return type of the kvm_para_available function to bool.

Sparse warnings:

arch/x86/kernel/kvm.c:508:35: warning:
incorrect type in initializer (different signedness)
arch/x86/kernel/kvm.c:508:35:
expected bool ( *x2apic_available )( ... )
arch/x86/kernel/kvm.c:508:35:
got int ( static inline [toplevel] *<noident> )( ... )

arch/x86/kernel/kvm.c:508:2: warning:
initialization from incompatible pointer type [enabled by default]

arch/x86/kernel/kvm.c:508:2: warning:
(near initialization for âx86_hyper_kvm.x2apic_availableâ)
[enabled by default]

Signed-off-by: Emil Goode <emilgoode@xxxxxxxxx>
---
arch/x86/include/asm/kvm_para.h | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/x86/include/asm/kvm_para.h b/arch/x86/include/asm/kvm_para.h
index 0be7039..695399f 100644
--- a/arch/x86/include/asm/kvm_para.h
+++ b/arch/x86/include/asm/kvm_para.h
@@ -85,13 +85,13 @@ static inline long kvm_hypercall4(unsigned int nr, unsigned long p1,
return ret;
}

-static inline int kvm_para_available(void)
+static inline bool kvm_para_available(void)
{
unsigned int eax, ebx, ecx, edx;
char signature[13];

if (boot_cpu_data.cpuid_level < 0)
- return 0; /* So we don't blow up on old processors */
+ return false; /* So we don't blow up on old processors */

if (cpu_has_hypervisor) {
cpuid(KVM_CPUID_SIGNATURE, &eax, &ebx, &ecx, &edx);
@@ -101,10 +101,10 @@ static inline int kvm_para_available(void)
signature[12] = 0;

if (strcmp(signature, "KVMKVMKVM") == 0)
- return 1;
+ return true;
}

- return 0;
+ return false;
}

static inline unsigned int kvm_arch_para_features(void)
--
1.7.10.4

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/