diff options
author | 2025-03-19 11:56:39 +0100 | |
---|---|---|
committer | 2025-04-09 20:47:29 +0200 | |
commit | 0dac2b09303c89ffb21d25d40bf6aefd39f214b0 (patch) | |
tree | 19b0cfe1f5598fcaaea2550a2072edc44ab07582 /include/linux | |
parent | cleanup: Provide retain_and_null_ptr() (diff) | |
download | wireguard-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.h | 2 | ||||
-rw-r--r-- | include/linux/msi.h | 3 |
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); |