On Mon, Aug 08, 2022 at 02:53:53PM +0200, Thomas Zimmermann wrote:
Add IOSYS_MAP_INIT_VADDR_IOMEM() for static init of variables of type
struct iosys_map.

Signed-off-by: Thomas Zimmermann <tzimmerm...@suse.de>


Reviewed-by: Lucas De Marchi <lucas.demar...@intel.com>

Lucas De Marchi

---
include/linux/iosys-map.h | 15 ++++++++++++++-
1 file changed, 14 insertions(+), 1 deletion(-)

diff --git a/include/linux/iosys-map.h b/include/linux/iosys-map.h
index a533cae189d7..cb71aa616bd3 100644
--- a/include/linux/iosys-map.h
+++ b/include/linux/iosys-map.h
@@ -46,10 +46,13 @@
 *
 *      iosys_map_set_vaddr(&map, 0xdeadbeaf);
 *
- * To set an address in I/O memory, use iosys_map_set_vaddr_iomem().
+ * To set an address in I/O memory, use IOSYS_MAP_INIT_VADDR_IOMEM() or
+ * iosys_map_set_vaddr_iomem().
 *
 * .. code-block:: c
 *
+ *     struct iosys_map map = IOSYS_MAP_INIT_VADDR_IOMEM(0xdeadbeaf);
+ *
 *      iosys_map_set_vaddr_iomem(&map, 0xdeadbeaf);
 *
 * Instances of struct iosys_map do not have to be cleaned up, but
@@ -121,6 +124,16 @@ struct iosys_map {
                .is_iomem = false,      \
        }

+/**
+ * IOSYS_MAP_INIT_VADDR_IOMEM - Initializes struct iosys_map to an address in 
I/O memory
+ * @vaddr_iomem_:      An I/O-memory address
+ */
+#define IOSYS_MAP_INIT_VADDR_IOMEM(vaddr_iomem_)       \
+       {                                               \
+               .vaddr_iomem = (vaddr_iomem_),          \
+               .is_iomem = true,                       \
+       }
+
/**
 * IOSYS_MAP_INIT_OFFSET - Initializes struct iosys_map from another iosys_map
 * @map_:       The dma-buf mapping structure to copy from
--
2.37.1

Reply via email to