Re: [PATCH v3 4/5] PCI: Add pci_irq_type() to query the allocated interrupt type
| Newsgroups | org.kernel.vger.linux-pci |
|---|---|
| Message-ID | <[email protected]> |
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider: - [Low] Missing dummy implementation of pci_irq_type() for !CONFIG_PCI configurations -- --- Patch [4]: [PATCH v3 4/5] PCI: Add pci_irq_type() to query the allocated interrupt type --- commit dc3ae5a104b31d99bffe0b8a2992cb68e0130731 Author: Danilo Krummrich <[email protected]> PCI: Add pci_irq_type() to query the allocated interrupt type This patch adds a helper function to return the interrupt type (MSI-X, MSI, or INTX) that the PCI core selected after a successful call to pci_alloc_irq_vectors(). It provides a common way for drivers to query this information without directly accessing the pci_dev bitfields. Link: https://elixir.bootlin.com/linux/v7.1/source/drivers/net/ethernet/aquantia/atlantic/aq_pci_func.c#L196 [1] Link: https://lore.kernel.org/all/[email protected]/ [2] > diff --git a/include/linux/pci.h b/include/linux/pci.h > index 64b308b6e61c1..80b8561b5be0b 100644 > --- a/include/linux/pci.h > +++ b/include/linux/pci.h [ ... ] > @@ -1845,6 +1865,11 @@ static inline const struct cpumask *pci_irq_get_affinity(struct pci_dev *pdev, > { > return cpu_possible_mask; > } > + > +static inline unsigned int pci_irq_type(struct pci_dev *pdev) > +{ > + return PCI_IRQ_INTX; > +} > #endif [Severity: Low] Does this also need a dummy implementation in the !CONFIG_PCI block? This patch adds a fallback implementation for when CONFIG_PCI_MSI is disabled, but misses adding a stub for when CONFIG_PCI is completely disabled. Other IRQ vector API functions provide stubs in the !CONFIG_PCI block to ensure drivers compile cleanly on architectures without PCI support: include/linux/pci.h: static inline int pci_alloc_irq_vectors(struct pci_dev *dev, unsigned int min_vecs, unsigned int max_vecs, unsigned int flags) { return -ENOSPC; } static inline void pci_free_irq_vectors(struct pci_dev *dev) { } #endif /* CONFIG_PCI */ Could the lack of a pci_irq_type() stub in include/linux/pci.h introduce a compile regression when building a kernel with CONFIG_PCI=n where a generic driver calls pci_irq_type()? -- Sashiko AI review · https://sashiko.dev/#/patchset/[email protected]?part=4