genirq/msi: Provide struct msi_map
authorThomas Gleixner <tglx@linutronix.de>
Thu, 24 Nov 2022 23:26:13 +0000 (00:26 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 5 Dec 2022 21:22:33 +0000 (22:22 +0100)
A simple struct to hold a MSI index / Linux interrupt number pair. It will
be returned from the dynamic vector allocation function and handed back to
the corresponding free() function.

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Kevin Tian <kevin.tian@intel.com>
Acked-by: Marc Zyngier <maz@kernel.org>
Link: https://lore.kernel.org/r/20221124232326.326410494@linutronix.de
include/linux/msi_api.h

index 8640171..4cb7f4c 100644 (file)
@@ -18,6 +18,19 @@ enum msi_domain_ids {
        MSI_MAX_DEVICE_IRQDOMAINS,
 };
 
+/**
+ * msi_map - Mapping between MSI index and Linux interrupt number
+ * @index:     The MSI index, e.g. slot in the MSI-X table or
+ *             a software managed index if >= 0. If negative
+ *             the allocation function failed and it contains
+ *             the error code.
+ * @virq:      The associated Linux interrupt number
+ */
+struct msi_map {
+       int     index;
+       int     virq;
+};
+
 unsigned int msi_domain_get_virq(struct device *dev, unsigned int domid, unsigned int index);
 
 /**