git: 490928831178 - stable/15 - LinuxKPI: fix argument type to lkpi_pci_msi_desc_alloc()

From: Bjoern A. Zeeb <bz_at_FreeBSD.org>
Date: Sat, 19 Sep 2026 14:40:26 UTC
The branch stable/15 has been updated by bz:

URL: https://cgit.FreeBSD.org/src/commit/?id=49092883117817e3201371b4c366ada630309b86

commit 49092883117817e3201371b4c366ada630309b86
Author:     Bjoern A. Zeeb <bz@FreeBSD.org>
AuthorDate: 2026-08-16 21:37:08 +0000
Commit:     Bjoern A. Zeeb <bz@FreeBSD.org>
CommitDate: 2026-09-19 09:34:10 +0000

    LinuxKPI: fix argument type to lkpi_pci_msi_desc_alloc()
    
    lkpi_pci_msi_desc_alloc() takes an unsigned int, not an int.
    While here make sure the prototype is visibile in interrupt.h as
    well before use to avoid -Wimplicit-function-declaration errors.
    
    Discovered while working on a wireless driver.
    
    Reviewed by:    dumbbell
    Differential Revision: https://reviews.freebsd.org/D58879
    
    (cherry picked from commit cfb23b01e269e8a0a84066637b82b746f01b46b4)
---
 sys/compat/linuxkpi/common/include/linux/interrupt.h | 1 +
 sys/compat/linuxkpi/common/include/linux/pci.h       | 3 ++-
 sys/compat/linuxkpi/common/src/linux_pci.c           | 2 +-
 3 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/sys/compat/linuxkpi/common/include/linux/interrupt.h b/sys/compat/linuxkpi/common/include/linux/interrupt.h
index dfd9816da8be..4dd88c217c5f 100644
--- a/sys/compat/linuxkpi/common/include/linux/interrupt.h
+++ b/sys/compat/linuxkpi/common/include/linux/interrupt.h
@@ -140,6 +140,7 @@ irq_set_affinity_hint(int vector, const cpumask_t *mask)
 	return (-error);
 }
 
+struct msi_desc *lkpi_pci_msi_desc_alloc(unsigned int);
 static inline struct msi_desc *
 irq_get_msi_desc(unsigned int irq)
 {
diff --git a/sys/compat/linuxkpi/common/include/linux/pci.h b/sys/compat/linuxkpi/common/include/linux/pci.h
index 6efd43f311cf..f6799ab6be28 100644
--- a/sys/compat/linuxkpi/common/include/linux/pci.h
+++ b/sys/compat/linuxkpi/common/include/linux/pci.h
@@ -59,6 +59,7 @@
 #include <linux/device.h>
 #include <linux/pci_ids.h>
 #include <linux/pm.h>
+#include <linux/interrupt.h>
 
 /*
  * <linux/ioport.h> should be included here, like Linux, but we can't have that
@@ -387,7 +388,7 @@ int linuxkpi_pci_enable_msix(struct pci_dev *pdev, struct msix_entry *entries,
 struct pci_dev *lkpinew_pci_dev(device_t);
 void lkpi_pci_devres_release(struct device *, void *);
 struct pci_dev *lkpi_pci_get_device(uint32_t, uint32_t, struct pci_dev *);
-struct msi_desc *lkpi_pci_msi_desc_alloc(int);
+struct msi_desc *lkpi_pci_msi_desc_alloc(unsigned int);
 struct device *lkpi_pci_find_irq_dev(unsigned int irq);
 int _lkpi_pci_enable_msi_range(struct pci_dev *pdev, int minvec, int maxvec);
 
diff --git a/sys/compat/linuxkpi/common/src/linux_pci.c b/sys/compat/linuxkpi/common/src/linux_pci.c
index c966daae9507..4909b52150ae 100644
--- a/sys/compat/linuxkpi/common/src/linux_pci.c
+++ b/sys/compat/linuxkpi/common/src/linux_pci.c
@@ -1613,7 +1613,7 @@ out:
 }
 
 struct msi_desc *
-lkpi_pci_msi_desc_alloc(int irq)
+lkpi_pci_msi_desc_alloc(unsigned int irq)
 {
 	struct device *dev;
 	struct pci_dev *pdev;