[PATCH v7 0/4] Introduce pcim_alloc_irq_vectors()

Dejin Zheng
2021-06-07T15:39:22Z

Introduce pcim_alloc_irq_vectors(), a device-managed version of
pci_alloc_irq_vectors(), In some i2c drivers, If pcim_enable_device()
has been called before, then pci_alloc_irq_vectors() is actually a
device-managed function. It is used as a device-managed function, So
replace it with pcim_alloc_irq_vectors().

Changelog
---------
v6 -> v7:
- rebase to PCI next branch
- add a stub for pci_is_managed() when disable PCI for
fix build error in sparc architecture.
v5 -> v6:
- rebase to 5.13-rc4
v4 -> v5:
- Remove the check of enable device in pcim_alloc_irq_vectors()
and make it as a static line function.
- Modify the subject name in patch 3 and patch 4.
v3 -> v4:
- add some commit comments for patch 3
v2 -> v3:
- Add some commit comments for replace some codes in
pcim_release() by pci_free_irq_vectors().
- Simplify the error handling path in i2c designware
driver.
v1 -> v2:
- Use pci_free_irq_vectors() to replace some code in
pcim_release().
- Modify some commit messages.

Dejin Zheng (4):
PCI: Introduce pcim_alloc_irq_vectors()
Documentation: devres: Add pcim_alloc_irq_vectors()
i2c: designware: Use pcim_alloc_irq_vectors() to allocate IRQ vectors
i2c: thunderx: Use pcim_alloc_irq_vectors() to allocate IRQ vectors

.../driver-api/driver-model/devres.rst | 1 +
drivers/i2c/busses/i2c-designware-pcidrv.c | 15 +++--------
drivers/i2c/busses/i2c-thunderx-pcidrv.c | 2 +-
drivers/pci/pci.c | 5 +---
include/linux/pci.h | 25 +++++++++++++++++++
5 files changed, 32 insertions(+), 16 deletions(-)

--
2.30.1