aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/include/linux
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2025-03-19 11:56:39 +0100
committerThomas Gleixner <tglx@linutronix.de>2025-04-09 20:47:29 +0200
commit0dac2b09303c89ffb21d25d40bf6aefd39f214b0 (patch)
tree19b0cfe1f5598fcaaea2550a2072edc44ab07582 /include/linux
parentcleanup: Provide retain_and_null_ptr() (diff)
downloadwireguard-linux-0dac2b09303c89ffb21d25d40bf6aefd39f214b0.tar.xz
wireguard-linux-0dac2b09303c89ffb21d25d40bf6aefd39f214b0.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/20250319105506.144672678@linutronix.de
Diffstat (limited to 'include/linux')
-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 bb7111105296..2f955716cf82 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 86e42742fd0f..4e439916dbcf 100644
--- a/include/linux/msi.h
+++ b/include/linux/msi.h
@@ -232,6 +232,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);