Skip to content
  • Eric S. Stone's avatar
    staging: gdm724x: update HCI structs with new bitwise types · 457c005a
    Eric S. Stone authored
    
    
    Update the driver's HCI structs and associated endian-converter
    functions with new driver-specific bitwise types. The new types
    encourage correct endian-handling within the driver by triggering
    sparse warnings when mixing with other types. The driver's
    endian-converters provide correct and warning-free conversions.
    
    Driver-specific bitwise types are used instead of the standard
    endian-specific types because the attached device can be of either
    endian. This is also why the driver has its own endian-conversion
    functions, which consider endianness of both the cpu and the attached
    device.
    
    Introducing the new types to the converters fixes the sparse warnings:
    
    CHECK   drivers/staging/gdm724x/gdm_endian.c
    drivers/staging/gdm724x/gdm_endian.c:28:24: warning: incorrect type in return expression (different base types)
    drivers/staging/gdm724x/gdm_endian.c:28:24:    expected unsigned short
    drivers/staging/gdm724x/gdm_endian.c:28:24:    got restricted __le16 [usertype] <noident>
    drivers/staging/gdm724x/gdm_endian.c:30:24: warning: incorrect type in return expression (different base types)
    drivers/staging/gdm724x/gdm_endian.c:30:24:    expected unsigned short
    drivers/staging/gdm724x/gdm_endian.c:30:24:    got restricted __be16 [usertype] <noident>
    drivers/staging/gdm724x/gdm_endian.c:36:24: warning: cast to restricted __le16
    drivers/staging/gdm724x/gdm_endian.c:38:24: warning: cast to restricted __be16
    drivers/staging/gdm724x/gdm_endian.c:44:24: warning: incorrect type in return expression (different base types)
    drivers/staging/gdm724x/gdm_endian.c:44:24:    expected unsigned int
    drivers/staging/gdm724x/gdm_endian.c:44:24:    got restricted __le32 [usertype] <noident>
    drivers/staging/gdm724x/gdm_endian.c:46:24: warning: incorrect type in return expression (different base types)
    drivers/staging/gdm724x/gdm_endian.c:46:24:    expected unsigned int
    drivers/staging/gdm724x/gdm_endian.c:46:24:    got restricted __be32 [usertype] <noident>
    drivers/staging/gdm724x/gdm_endian.c:52:24: warning: cast to restricted __le32
    drivers/staging/gdm724x/gdm_endian.c:54:24: warning: cast to restricted __be32
    
    Signed-off-by: default avatarEric S. Stone <esstone@gmail.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    457c005a