[dpdk-dev] [PATCH] igb_uio: only check for pci bridge in supported by linux kernel
Iremonger, Bernard
bernard.iremonger at intel.com
Tue Apr 17 14:58:20 CEST 2018
Hi Scott, Ajit,
> -----Original Message-----
> From: dev [mailto:dev-bounces at dpdk.org] On Behalf Of Ajit Khaparde
> Sent: Monday, April 16, 2018 9:51 PM
> To: dev at dpdk.org
> Cc: Scott Branden <scott.branden at broadcom.com>
> Subject: [dpdk-dev] [PATCH] igb_uio: only check for pci bridge in supported by
> linux kernel
>
> From: Scott Branden <scott.branden at broadcom.com>
>
> Starting from Linux v3.16 pci_is_bridge() is in linux/pci.h, in previous versions it
> is in drivers/pci/pci.h which is private header.
>
> Fix build error when calling pci_is_bridge by not calling/supporting pci_is_bridge
> with kernel versions before 3.16.
>
> Signed-off-by: Scott Branden <scott.branden at broadcom.com>
> Reported-by: Ferruh Yigit <ferruh.yigit at intel.com>
> ---
> kernel/linux/igb_uio/compat.h | 4 ++++ kernel/linux/igb_uio/igb_uio.c | 2 ++
> 2 files changed, 6 insertions(+)
>
> diff --git a/kernel/linux/igb_uio/compat.h b/kernel/linux/igb_uio/compat.h
> index ce456d4bb..b48c4cc91 100644
> --- a/kernel/linux/igb_uio/compat.h
> +++ b/kernel/linux/igb_uio/compat.h
> @@ -132,3 +132,7 @@ static bool pci_check_and_mask_intx(struct pci_dev
> *pdev) #if LINUX_VERSION_CODE >= KERNEL_VERSION(4, 5, 0) #define
> HAVE_PCI_MSI_MASK_IRQ 1 #endif
> +
> +#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0) #define
> +HAVE_PCI_IS_BRIDGE_API 1 #endif
> diff --git a/kernel/linux/igb_uio/igb_uio.c b/kernel/linux/igb_uio/igb_uio.c index
> cbc5ab63a..cd9b7e721 100644
> --- a/kernel/linux/igb_uio/igb_uio.c
> +++ b/kernel/linux/igb_uio/igb_uio.c
> @@ -473,10 +473,12 @@ igbuio_pci_probe(struct pci_dev *dev, const struct
> pci_device_id *id)
> void *map_addr;
> int err;
>
> +#ifdef HAVE_PCI_IS_BRIDGE_API
> if (pci_is_bridge(dev)) {
> dev_warn(&dev->dev, "Ignoring PCI bridge device\n");
> return -ENODEV;
> }
> +#endif
>
> udev = kzalloc(sizeof(struct rte_uio_pci_dev), GFP_KERNEL);
> if (!udev)
> --
> 2.15.1 (Apple Git-101)
This patch fixes the compile error seen on the master branch.
However there are the following checkpatch.pl warnings:
WARNING: LINUX_VERSION_CODE should be avoided, code should be for the version to which it is merged
#40: FILE: kernel/linux/igb_uio/compat.h:136:
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
WARNING: Comparisons should place the constant on the right side of the test
#40: FILE: kernel/linux/igb_uio/compat.h:136:
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(3, 16, 0)
total: 0 errors, 2 warnings, 19 lines checked
Regards,
Bernard.
More information about the dev
mailing list