Commit d468fcaf authored by Michael Ellerman's avatar Michael Ellerman

powerpc/pci: Fix build with PCI_IOV=y and EEH=n

Despite attempting to fix this in commit fb36e907 ("powerpc/pci: Fix
SRIOV not building without EEH enabled"), the build is still broken when
PCI_IOV=y and EEH=n (eg. g5_defconfig with PCI_IOV=y):

  arch/powerpc/kernel/pci_dn.c: In function ‘remove_dev_pci_data’:
  arch/powerpc/kernel/pci_dn.c:230:18: error: unused variable ‘edev’

Incorporate Ben's idea of using __maybe_unused to avoid so many #ifdefs.
Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
parent fecbfabe
...@@ -31,6 +31,7 @@ ...@@ -31,6 +31,7 @@
#include <asm/pci-bridge.h> #include <asm/pci-bridge.h>
#include <asm/ppc-pci.h> #include <asm/ppc-pci.h>
#include <asm/firmware.h> #include <asm/firmware.h>
#include <asm/eeh.h>
/* /*
* The function is used to find the firmware data of one * The function is used to find the firmware data of one
...@@ -181,9 +182,6 @@ struct pci_dn *add_dev_pci_data(struct pci_dev *pdev) ...@@ -181,9 +182,6 @@ struct pci_dn *add_dev_pci_data(struct pci_dev *pdev)
{ {
#ifdef CONFIG_PCI_IOV #ifdef CONFIG_PCI_IOV
struct pci_dn *parent, *pdn; struct pci_dn *parent, *pdn;
#ifdef CONFIG_EEH
struct eeh_dev *edev;
#endif /* CONFIG_EEH */
int i; int i;
/* Only support IOV for now */ /* Only support IOV for now */
...@@ -201,6 +199,8 @@ struct pci_dn *add_dev_pci_data(struct pci_dev *pdev) ...@@ -201,6 +199,8 @@ struct pci_dn *add_dev_pci_data(struct pci_dev *pdev)
return NULL; return NULL;
for (i = 0; i < pci_sriov_get_totalvfs(pdev); i++) { for (i = 0; i < pci_sriov_get_totalvfs(pdev); i++) {
struct eeh_dev *edev __maybe_unused;
pdn = add_one_dev_pci_data(parent, NULL, i, pdn = add_one_dev_pci_data(parent, NULL, i,
pci_iov_virtfn_bus(pdev, i), pci_iov_virtfn_bus(pdev, i),
pci_iov_virtfn_devfn(pdev, i)); pci_iov_virtfn_devfn(pdev, i));
...@@ -227,7 +227,6 @@ void remove_dev_pci_data(struct pci_dev *pdev) ...@@ -227,7 +227,6 @@ void remove_dev_pci_data(struct pci_dev *pdev)
#ifdef CONFIG_PCI_IOV #ifdef CONFIG_PCI_IOV
struct pci_dn *parent; struct pci_dn *parent;
struct pci_dn *pdn, *tmp; struct pci_dn *pdn, *tmp;
struct eeh_dev *edev;
int i; int i;
/* /*
...@@ -263,6 +262,8 @@ void remove_dev_pci_data(struct pci_dev *pdev) ...@@ -263,6 +262,8 @@ void remove_dev_pci_data(struct pci_dev *pdev)
* a batch mode. * a batch mode.
*/ */
for (i = 0; i < pci_sriov_get_totalvfs(pdev); i++) { for (i = 0; i < pci_sriov_get_totalvfs(pdev); i++) {
struct eeh_dev *edev __maybe_unused;
list_for_each_entry_safe(pdn, tmp, list_for_each_entry_safe(pdn, tmp,
&parent->child_list, list) { &parent->child_list, list) {
if (pdn->busno != pci_iov_virtfn_bus(pdev, i) || if (pdn->busno != pci_iov_virtfn_bus(pdev, i) ||
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment