[patch V4 00/14] genirq/msi: Spring cleaning

From: Thomas Gleixner
Date: Wed Mar 19 2025 - 06:56:48 EST


This is version 4 of the cleanup work. The previous version can be found
here:

https://lore.kernel.org/all/20250317092919.008573387@xxxxxxxxxxxxx

While converting the MSI descriptor locking to a lock guard() I stumbled
over various abuse of MSI descriptors (again).

The following series cleans up the offending code and converts the MSI
descriptor locking over to lock guards.

Changes vs. V3:

- Cast retain_ptr() to void so it can't be used instead of return_ptr()
- James

- Split up the PCI/MSI changes

- Move setting of pci_dev::msi_enabled to the success path

- Fix a logic inversion in the UFS change and use a cleanup function to
simplify the error path - James

- Collect Reviewed/Tested/Acked-by tags where appropriate

The series applies on:

git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/msi

and is available from git:

git://git.kernel.org/pub/scm/linux/kernel/git/tglx/devel.git irq/msi

Thanks,

tglx
---
drivers/ntb/msi.c | 22 +---
drivers/pci/controller/pci-hyperv.c | 14 --
drivers/pci/msi/api.c | 6 -
drivers/pci/msi/msi.c | 175 ++++++++++++++++++++++--------------
drivers/pci/pci.h | 9 +
drivers/pci/tph.c | 44 ---------
drivers/soc/ti/ti_sci_inta_msi.c | 10 --
drivers/ufs/host/ufs-qcom.c | 85 +++++++++--------
include/linux/cleanup.h | 16 +++
include/linux/irqdomain.h | 2
include/linux/msi.h | 7 +
kernel/irq/msi.c | 125 ++++++++++---------------
12 files changed, 258 insertions(+), 257 deletions(-)