summaryrefslogtreecommitdiff
path: root/include/linux
diff options
context:
space:
mode:
authorMarc Zyngier <maz@kernel.org>2025-05-13 20:28:12 +0300
committerThomas Gleixner <tglx@linutronix.de>2025-05-16 22:32:20 +0300
commite4d001b54f78769ba1a1404c2801ae95e19fd893 (patch)
tree0b1ec43cc196f444b9b65fcb41562124296b2791 /include/linux
parente51b27438a10391fdc94dd2046d9ffa9c2679c74 (diff)
downloadlinux-e4d001b54f78769ba1a1404c2801ae95e19fd893.tar.xz
genirq/msi: Add helper for creating MSI-parent irq domains
Creating an irq domain that serves as an MSI parent requires a substantial amount of esoteric boiler-plate code, some of which is often provided twice (such as the bus token). To make things a bit simpler for the unsuspecting MSI tinkerer, provide a helper that does it for them, and serves as documentation of what needs to be provided. Signed-off-by: Marc Zyngier <maz@kernel.org> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Link: https://lore.kernel.org/all/20250513172819.2216709-3-maz@kernel.org
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/msi.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/msi.h b/include/linux/msi.h
index f4b94ccaf0c1..6863540f4b71 100644
--- a/include/linux/msi.h
+++ b/include/linux/msi.h
@@ -636,6 +636,10 @@ struct irq_domain *msi_create_irq_domain(struct fwnode_handle *fwnode,
struct msi_domain_info *info,
struct irq_domain *parent);
+struct irq_domain_info;
+struct irq_domain *msi_create_parent_irq_domain(struct irq_domain_info *info,
+ const struct msi_parent_ops *msi_parent_ops);
+
bool msi_create_device_irq_domain(struct device *dev, unsigned int domid,
const struct msi_domain_template *template,
unsigned int hwsize, void *domain_data,