virtio_ring: sparse warning fixup
virtio_store_mb was built with split ring in mind so it accepts __virtio16 arguments. Packed ring uses __le16 values, so sparse complains. It's just a store with some barriers so let's convert it to a macro, we don't loose too much type safety by doing that. Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Acked-by: Cornelia Huck <cohuck@redhat.com>
This commit is contained in:
Родитель
8875bbba97
Коммит
5487196878
|
@ -46,16 +46,15 @@ static inline void virtio_wmb(bool weak_barriers)
|
|||
dma_wmb();
|
||||
}
|
||||
|
||||
static inline void virtio_store_mb(bool weak_barriers,
|
||||
__virtio16 *p, __virtio16 v)
|
||||
{
|
||||
if (weak_barriers) {
|
||||
virt_store_mb(*p, v);
|
||||
} else {
|
||||
WRITE_ONCE(*p, v);
|
||||
mb();
|
||||
}
|
||||
}
|
||||
#define virtio_store_mb(weak_barriers, p, v) \
|
||||
do { \
|
||||
if (weak_barriers) { \
|
||||
virt_store_mb(*p, v); \
|
||||
} else { \
|
||||
WRITE_ONCE(*p, v); \
|
||||
mb(); \
|
||||
} \
|
||||
} while (0) \
|
||||
|
||||
struct virtio_device;
|
||||
struct virtqueue;
|
||||
|
|
Загрузка…
Ссылка в новой задаче