virtio_config: fix up warnings on parisc
authorMichael S. Tsirkin <mst@redhat.com>
Wed, 5 Aug 2020 23:55:50 +0000 (19:55 -0400)
committerMichael S. Tsirkin <mst@redhat.com>
Wed, 5 Aug 2020 23:56:03 +0000 (19:56 -0400)
Apparently, on parisc le16_to_cpu returns an int. virtio_cread_le
is very strict about type sizes so it causes a warning.
Fix it up by casting to the correct type.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Link: https://lore.kernel.org/r/20200805235550.1451637-1-mst@redhat.com
include/linux/virtio_config.h

index ecb166c..8fe857e 100644 (file)
@@ -357,10 +357,10 @@ static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val)
  */
 #define virtio_le_to_cpu(x) \
        _Generic((x), \
-               __u8: (x), \
-                __le16: le16_to_cpu(x), \
-                __le32: le32_to_cpu(x), \
-                __le64: le64_to_cpu(x) \
+               __u8: (u8)(x), \
+                __le16: (u16)le16_to_cpu(x), \
+                __le32: (u32)le32_to_cpu(x), \
+                __le64: (u64)le64_to_cpu(x) \
                )
 
 #define virtio_cpu_to_le(x, m) \
@@ -400,7 +400,6 @@ static inline __virtio64 cpu_to_virtio64(struct virtio_device *vdev, u64 val)
                *(ptr) = virtio_le_to_cpu(virtio_cread_v);              \
        } while(0)
 
-/* Config space accessors. */
 #define virtio_cwrite_le(vdev, structname, member, ptr)                        \
        do {                                                            \
                typeof(((structname*)0)->member) virtio_cwrite_v =      \