• Arnd Bergmann's avatar
    scsi: pmcraid: fix endianess sparse annotations · 45c80be6
    Arnd Bergmann authored
    The use of le32_to_cpu() etc in this driver looks completely arbitrary.
    It may have made sense at some point, but it is not applied consistently,
    so this driver presumably won't work on big-endian kernel builds.
    
    Unfortunately it's unclear whether the type names or the calls to
    le32_to_cpu() are the correct ones. I'm taking educated guesses here
    and assume that most of the __le32 and __le16 annotations are correct,
    adding the conversion helpers whereever we access those fields.
    
    The exceptions are the 'fw_version' field that is always accessed as
    big-endian, so I'm changing the type here, and the 'hrrq' values that
    are accessed as little-endian, so I'm changing those the other way.
    
    None of these changes should have any effect on little-endian
    architectures like x86, but it addresses the sparse warnings.
    Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
    Reviewed-by: default avatarChristoph Hellwig <hch@lst.de>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    45c80be6
pmcraid.c 166 KB