summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2025-03-13 14:03:39 +0100
committerThomas Gleixner <tglx@linutronix.de>2025-03-13 18:57:59 +0100
commit5c99e0226eccb11738a30e27454157e63dcf2b52 (patch)
tree894ba550134929ec9073aff75a8e124f04835365 /include
parent08549ff3e53b9c7bc55724d660ca733041a8bd5f (diff)
downloadlinux-5c99e0226eccb11738a30e27454157e63dcf2b52.tar.gz
linux-5c99e0226eccb11738a30e27454157e63dcf2b52.zip
genirq/msi: Use lock guards for MSI descriptor locking
Provide a lock guard for MSI descriptor locking and update the core code accordingly. No functional change intended. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Link: https://lore.kernel.org/all/20250313130321.506045185@linutronix.de
Diffstat (limited to 'include')
-rw-r--r--include/linux/irqdomain.h2
-rw-r--r--include/linux/msi.h3
2 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/irqdomain.h b/include/linux/irqdomain.h
index e432b6a12a32..d258aa2fc022 100644
--- a/include/linux/irqdomain.h
+++ b/include/linux/irqdomain.h
@@ -281,6 +281,8 @@ static inline struct fwnode_handle *irq_domain_alloc_fwnode(phys_addr_t *pa)
void irq_domain_free_fwnode(struct fwnode_handle *fwnode);
+DEFINE_FREE(irq_domain_free_fwnode, struct fwnode_handle *, if (_T) irq_domain_free_fwnode(_T))
+
struct irq_domain_chip_generic_info;
/**
diff --git a/include/linux/msi.h b/include/linux/msi.h
index df2dd6355e1c..3246ca633a5c 100644
--- a/include/linux/msi.h
+++ b/include/linux/msi.h
@@ -227,6 +227,9 @@ int msi_setup_device_data(struct device *dev);
void msi_lock_descs(struct device *dev);
void msi_unlock_descs(struct device *dev);
+DEFINE_LOCK_GUARD_1(msi_descs_lock, struct device, msi_lock_descs(_T->lock),
+ msi_unlock_descs(_T->lock));
+
struct msi_desc *msi_domain_first_desc(struct device *dev, unsigned int domid,
enum msi_desc_filter filter);