x86: Adjust types used in port I/O helpers
authorKirill A. Shutemov <kirill.shutemov@linux.intel.com>
Tue, 5 Apr 2022 23:29:22 +0000 (02:29 +0300)
committerDave Hansen <dave.hansen@linux.intel.com>
Thu, 7 Apr 2022 15:27:52 +0000 (08:27 -0700)
Change port I/O helpers to use u8/u16/u32 instead of unsigned
char/short/int for values. Use u16 instead of int for port number.

It aligns the helpers with implementation in boot stub in preparation
for consolidation.

Signed-off-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com>
Signed-off-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Dave Hansen <dave.hansen@linux.intel.com>
Reviewed-by: Thomas Gleixner <tglx@linutronix.de>
Link: https://lkml.kernel.org/r/20220405232939.73860-14-kirill.shutemov@linux.intel.com
arch/x86/include/asm/io.h

index f6d91ec..638c1a2 100644 (file)
@@ -258,37 +258,37 @@ static inline void slow_down_io(void)
 #endif
 
 #define BUILDIO(bwl, bw, type)                                         \
-static inline void out##bwl(unsigned type value, int port)             \
+static inline void out##bwl(type value, u16 port)                      \
 {                                                                      \
        asm volatile("out" #bwl " %" #bw "0, %w1"                       \
                     : : "a"(value), "Nd"(port));                       \
 }                                                                      \
                                                                        \
-static inline unsigned type in##bwl(int port)                          \
+static inline type in##bwl(u16 port)                                   \
 {                                                                      \
-       unsigned type value;                                            \
+       type value;                                                     \
        asm volatile("in" #bwl " %w1, %" #bw "0"                        \
                     : "=a"(value) : "Nd"(port));                       \
        return value;                                                   \
 }                                                                      \
                                                                        \
-static inline void out##bwl##_p(unsigned type value, int port)         \
+static inline void out##bwl##_p(type value, u16 port)                  \
 {                                                                      \
        out##bwl(value, port);                                          \
        slow_down_io();                                                 \
 }                                                                      \
                                                                        \
-static inline unsigned type in##bwl##_p(int port)                      \
+static inline type in##bwl##_p(u16 port)                               \
 {                                                                      \
-       unsigned type value = in##bwl(port);                            \
+       type value = in##bwl(port);                                     \
        slow_down_io();                                                 \
        return value;                                                   \
 }                                                                      \
                                                                        \
-static inline void outs##bwl(int port, const void *addr, unsigned long count) \
+static inline void outs##bwl(u16 port, const void *addr, unsigned long count) \
 {                                                                      \
        if (cc_platform_has(CC_ATTR_GUEST_UNROLL_STRING_IO)) {          \
-               unsigned type *value = (unsigned type *)addr;           \
+               type *value = (type *)addr;                             \
                while (count) {                                         \
                        out##bwl(*value, port);                         \
                        value++;                                        \
@@ -301,10 +301,10 @@ static inline void outs##bwl(int port, const void *addr, unsigned long count) \
        }                                                               \
 }                                                                      \
                                                                        \
-static inline void ins##bwl(int port, void *addr, unsigned long count) \
+static inline void ins##bwl(u16 port, void *addr, unsigned long count) \
 {                                                                      \
        if (cc_platform_has(CC_ATTR_GUEST_UNROLL_STRING_IO)) {          \
-               unsigned type *value = (unsigned type *)addr;           \
+               type *value = (type *)addr;                             \
                while (count) {                                         \
                        *value = in##bwl(port);                         \
                        value++;                                        \
@@ -317,9 +317,9 @@ static inline void ins##bwl(int port, void *addr, unsigned long count)      \
        }                                                               \
 }
 
-BUILDIO(b, b, char)
-BUILDIO(w, w, short)
-BUILDIO(l, , int)
+BUILDIO(b, b, u8)
+BUILDIO(w, w, u16)
+BUILDIO(l,  , u32)
 
 #define inb inb
 #define inw inw