0

I am currently working on a Virtex 7 FPGA . I am trying to install the driver for the PCIe DMA driver for linux . But it is giving me the following error :

error: implicit declaration of function ‘pci_enable_msix’ [-Werror=implicit-function-declaration]

Can someone help me with this error ?

3
  • Please post the text of the error rather than an image. Your post is unusable by those users with mobile devices or behind many corporate proxies. It's also difficult to read even on a typical laptop display.. Commented Mar 9, 2018 at 23:37
  • error: implicit declaration of function ‘pci_enable_msix’ . This is the error I receive. Commented Mar 9, 2018 at 23:39
  • The entire error message, in the question itself instead of the image. Posting it in a comment does absolutely nothing to address the issues I described. Commented Mar 9, 2018 at 23:40

2 Answers 2

2

Linux 4.8 replaced it with pci_enable_msix_range. You can fix it like this:

#if LINUX_VERSION_CODE < KERNEL_VERSION(4,8,0)
        rc = pci_enable_msix(pdev, lro->entry, req_nvec);
#else
        rc = pci_enable_msix_range(pdev, lro->entry, req_nvec, req_nvec);
#endif
Sign up to request clarification or add additional context in comments.

1 Comment

And you missed even more updates to this API, nowadays the both you mentioned are obsolete, one needs to call pci_alloc_irq_vectors() (IIRC the name of the call).
0

Linux cross reference is a very good resource for this kind of problem, because you can explore the change in API over kernel version.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.