lkml.org 
[lkml]   [2022]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCHv3 14/32] x86: Adjust types used in port I/O helpers
    Date
    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>
    ---
    arch/x86/include/asm/io.h | 26 +++++++++++++-------------
    1 file changed, 13 insertions(+), 13 deletions(-)

    diff --git a/arch/x86/include/asm/io.h b/arch/x86/include/asm/io.h
    index f6d91ecb8026..638c1a2a82e0 100644
    --- a/arch/x86/include/asm/io.h
    +++ b/arch/x86/include/asm/io.h
    @@ -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
    --
    2.34.1
    \
     
     \ /
      Last update: 2022-02-18 17:18    [W:5.452 / U:0.008 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site