Mirrors virtio_cread_feature but for LE fields.

Signed-off-by: Michael S. Tsirkin <[email protected]>
---
 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

Reply via email to