To avoid warning about implicit casting, make the casting explicit. This
allows, for example, pointers to be used as arguments as are used in the
KVM hyp interface.

Cc: Sudeep Holla <[email protected]>
Signed-off-by: Andrew Scull <[email protected]>
---
 include/linux/arm-smccc.h | 20 ++++++++++----------
 1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/include/linux/arm-smccc.h b/include/linux/arm-smccc.h
index 15c706fb0a37..3bb109a35554 100644
--- a/include/linux/arm-smccc.h
+++ b/include/linux/arm-smccc.h
@@ -260,7 +260,7 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, unsigned 
long a1,
        typeof(a1) __a1 = a1;                                           \
        struct arm_smccc_res   *___res = res;                           \
        register unsigned long r0 asm("r0") = (u32)a0;                  \
-       register unsigned long r1 asm("r1") = __a1;                     \
+       register unsigned long r1 asm("r1") = (unsigned long)__a1;      \
        register unsigned long r2 asm("r2");                            \
        register unsigned long r3 asm("r3")
 
@@ -269,8 +269,8 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, unsigned 
long a1,
        typeof(a2) __a2 = a2;                                           \
        struct arm_smccc_res   *___res = res;                           \
        register unsigned long r0 asm("r0") = (u32)a0;                  \
-       register unsigned long r1 asm("r1") = __a1;                     \
-       register unsigned long r2 asm("r2") = __a2;                     \
+       register unsigned long r1 asm("r1") = (unsigned long)__a1;      \
+       register unsigned long r2 asm("r2") = (unsigned long)__a2;      \
        register unsigned long r3 asm("r3")
 
 #define __declare_arg_3(a0, a1, a2, a3, res)                           \
@@ -279,29 +279,29 @@ asmlinkage void __arm_smccc_hvc(unsigned long a0, 
unsigned long a1,
        typeof(a3) __a3 = a3;                                           \
        struct arm_smccc_res   *___res = res;                           \
        register unsigned long r0 asm("r0") = (u32)a0;                  \
-       register unsigned long r1 asm("r1") = __a1;                     \
-       register unsigned long r2 asm("r2") = __a2;                     \
-       register unsigned long r3 asm("r3") = __a3
+       register unsigned long r1 asm("r1") = (unsigned long)__a1;      \
+       register unsigned long r2 asm("r2") = (unsigned long)__a2;      \
+       register unsigned long r3 asm("r3") = (unsigned long)__a3
 
 #define __declare_arg_4(a0, a1, a2, a3, a4, res)                       \
        typeof(a4) __a4 = a4;                                           \
        __declare_arg_3(a0, a1, a2, a3, res);                           \
-       register unsigned long r4 asm("r4") = __a4
+       register unsigned long r4 asm("r4") = (unsigned long)__a4
 
 #define __declare_arg_5(a0, a1, a2, a3, a4, a5, res)                   \
        typeof(a5) __a5 = a5;                                           \
        __declare_arg_4(a0, a1, a2, a3, a4, res);                       \
-       register unsigned long r5 asm("r5") = __a5
+       register unsigned long r5 asm("r5") = (unsigned long)__a5
 
 #define __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res)               \
        typeof(a6) __a6 = a6;                                           \
        __declare_arg_5(a0, a1, a2, a3, a4, a5, res);                   \
-       register unsigned long r6 asm("r6") = __a6
+       register unsigned long r6 asm("r6") = (unsigned long)__a6
 
 #define __declare_arg_7(a0, a1, a2, a3, a4, a5, a6, a7, res)           \
        typeof(a7) __a7 = a7;                                           \
        __declare_arg_6(a0, a1, a2, a3, a4, a5, a6, res);               \
-       register unsigned long r7 asm("r7") = __a7
+       register unsigned long r7 asm("r7") = (unsigned long)__a7
 
 #define ___declare_args(count, ...) __declare_arg_ ## count(__VA_ARGS__)
 #define __declare_args(count, ...)  ___declare_args(count, __VA_ARGS__)
-- 
2.28.0.402.g5ffc5be6b7-goog

_______________________________________________
kvmarm mailing list
[email protected]
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

Reply via email to