Re: [PATCH] PCI: Provide pci_free_irq_vectors() for CONFIG_PCI=n

From: FUJITA Tomonori
Date: Thu Dec 25 2025 - 04:37:58 EST


On Thu, 25 Dec 2025 10:10:04 +0100
Miguel Ojeda <miguel.ojeda.sandonis@xxxxxxxxx> wrote:

> On Mon, Dec 15, 2025 at 3:54 AM Boqun Feng <boqun.feng@xxxxxxxxx> wrote:
>>
>> Commit 473b9f331718 ("rust: pci: fix build failure when CONFIG_PCI_MSI
>> is disabled") fixed a build error by providing rust helpers when
>> CONFIG_PCI_MSI=n. However the rust helpers rely on the
>> pci_alloc_irq_vectors() function is defined, which is not true when
>> CONFIG_PCI=n. There are multiple ways to fix this, e.g. a possible fix
>> could be just remove the calling of pci_alloc_irq_vectors() since it's
>> empty when CONFIG_PCI_MSI=n anyway. However, since PCI irq APIs, such as
>> pci_alloc_irq_vectors(), are already defined even when CONFIG_PCI=n, the
>> more reasonable fix is to define pci_alloc_irq_vectors() when
>> CONFIG_PCI=n and this aligns with the situations of other primitives as
>> well.
>>
>> Fixes: 473b9f331718 ("rust: pci: fix build failure when CONFIG_PCI_MSI is disabled")
>> Signed-off-by: Boqun Feng <boqun.feng@xxxxxxxxx>
>
> Related: https://lore.kernel.org/rust-for-linux/20251209014312.575940-1-fujita.tomonori@xxxxxxxxx/
>
> I guess it counts as a report, so we may want a Reported-by (Cc'ing Tomo).

Since pci.rs is only compiled when CONFIG_PCI is enabled. So it seems
consistent to treat the PCI helpers the same way. That said, this
approach is also fine by me: it's already inconsistent that
pci_alloc_irq_vectors() has a stuf definition, while
pci_free_irq_vectors does not.