The two swaps from le32/le64 in arch/riscv/include/asm/kvm_nacl.h are generating a number of type assingment warnings in sparse, so fix by using __force and assuming the code is correct. Fixes a number of: arch/riscv/kvm/vcpu.c:371:21: warning: cast to restricted __le64 arch/riscv/kvm/vcpu.c:374:16: warning: cast to restricted __le64 arch/riscv/kvm/vcpu.c:586:17: warning: incorrect type in assignment (different base types) arch/riscv/kvm/vcpu.c:586:17: expected unsigned long arch/riscv/kvm/vcpu.c:586:17: got restricted __le64 [usertype] Signed-off-by: Ben Dooks --- arch/riscv/include/asm/kvm_nacl.h | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/arch/riscv/include/asm/kvm_nacl.h b/arch/riscv/include/asm/kvm_nacl.h index 4124d5e06a0f..2483738029cb 100644 --- a/arch/riscv/include/asm/kvm_nacl.h +++ b/arch/riscv/include/asm/kvm_nacl.h @@ -58,11 +58,11 @@ void kvm_riscv_nacl_exit(void); int kvm_riscv_nacl_init(void); #ifdef CONFIG_32BIT -#define lelong_to_cpu(__x) le32_to_cpu(__x) -#define cpu_to_lelong(__x) cpu_to_le32(__x) +#define lelong_to_cpu(__x) le32_to_cpu((__force __le32)__x) +#define cpu_to_lelong(__x) (__force unsigned long)cpu_to_le32(__x) #else -#define lelong_to_cpu(__x) le64_to_cpu(__x) -#define cpu_to_lelong(__x) cpu_to_le64(__x) +#define lelong_to_cpu(__x) le64_to_cpu((__force __le64)__x) +#define cpu_to_lelong(__x) (__force unsigned long)cpu_to_le64(__x) #endif #define nacl_shmem() \ -- 2.37.2.352.g3c44437643