From e16e12be34648777606a2c03a3526409b38f0e63 Mon Sep 17 00:00:00 2001 From: "Michael S. Tsirkin" Date: Tue, 7 Oct 2014 16:39:42 +0200 Subject: virtio: use u32, not bitmap for features It seemed like a good idea to use bitmap for features in struct virtio_device, but it's actually a pain, and seems to become even more painful when we get more than 32 feature bits. Just change it to a u32 for now. Based on patch by Rusty. Suggested-by: David Hildenbrand Signed-off-by: Rusty Russell Signed-off-by: Cornelia Huck Signed-off-by: Michael S. Tsirkin Reviewed-by: Cornelia Huck --- include/linux/virtio_config.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'include/linux/virtio_config.h') diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h index d8e28a2a5738..ffc2ae04879c 100644 --- a/include/linux/virtio_config.h +++ b/include/linux/virtio_config.h @@ -92,7 +92,7 @@ static inline bool __virtio_test_bit(const struct virtio_device *vdev, else BUG_ON(fbit >= 32); - return test_bit(fbit, vdev->features); + return vdev->features & BIT(fbit); } /** @@ -109,7 +109,7 @@ static inline void __virtio_set_bit(struct virtio_device *vdev, else BUG_ON(fbit >= 32); - set_bit(fbit, vdev->features); + vdev->features |= BIT(fbit); } /** @@ -126,7 +126,7 @@ static inline void __virtio_clear_bit(struct virtio_device *vdev, else BUG_ON(fbit >= 32); - clear_bit(fbit, vdev->features); + vdev->features &= ~BIT(fbit); } /** -- cgit v1.2.3