Michael S. Tsirkin
2020-Aug-05  13:44 UTC
[PATCH v3 28/38] virtio_config: add virtio_cread_le_feature
Mirrors virtio_cread_feature but for LE fields.
Signed-off-by: Michael S. Tsirkin <mst at redhat.com>
---
 include/linux/virtio_config.h | 10 ++++++++++
 1 file changed, 10 insertions(+)
diff --git a/include/linux/virtio_config.h b/include/linux/virtio_config.h
index 5b5196fec899..cc7a2b1fd7b2 100644
--- a/include/linux/virtio_config.h
+++ b/include/linux/virtio_config.h
@@ -555,4 +555,14 @@ static inline void virtio_cwrite64(struct virtio_device
*vdev,
 		_r;							\
 	})
 
+/* Conditional config space accessors. */
+#define virtio_cread_le_feature(vdev, fbit, structname, member, ptr)	\
+	({								\
+		int _r = 0;						\
+		if (!virtio_has_feature(vdev, fbit))			\
+			_r = -ENOENT;					\
+		else							\
+			virtio_cread_le((vdev), structname, member, ptr); \
+		_r;							\
+	})
 #endif /* _LINUX_VIRTIO_CONFIG_H */
-- 
MST
Seemingly Similar Threads
- [PATCH v3 26/38] virtio_config: LE config space accessors
 - [PATCH v11 1/2] virtio: let arch advertise guest's memory access restrictions
 - [PATCH v12 1/2] virtio: let arch advertise guest's memory access restrictions
 - [PATCH v3 24/38] virtio_config: rewrite using _Generic
 - [PATCH v3 37/38] virtio_config: drop LE option from config space
 
