linux-next: build failure after merge of the iommu tree

From: Stephen Rothwell
Date: Wed Dec 14 2011 - 23:41:08 EST


Hi Joerg,

After merging the iommu tree, today's linux-next build (x86_64
allmodconfig) failed like this:

drivers/iommu/amd_iommu.c: In function 'pci_iommuv2_capable':
drivers/iommu/amd_iommu.c:179:3: error: 'PCI_PRI_CAP' undeclared (first use in this function)
drivers/iommu/amd_iommu.c:180:3: error: 'PCI_PASID_CAP' undeclared (first use in this function)
drivers/iommu/amd_iommu.c: In function 'pri_reset_while_enabled':
drivers/iommu/amd_iommu.c:1981:38: error: 'PCI_PRI_CAP' undeclared (first use in this function)
drivers/iommu/amd_iommu.c:1981:2: warning: passing argument 2 of 'pci_find_ext_capability' makes integer from pointer without a cast [enabled by default]
include/linux/pci.h:712:5: note: expected 'int' but argument is of type 'const int *'
drivers/iommu/amd_iommu.c: In function 'pci_pri_tlp_required':
drivers/iommu/amd_iommu.c:2045:38: error: 'PCI_PRI_CAP' undeclared (first use in this function)
drivers/iommu/amd_iommu.c:2045:2: warning: passing argument 2 of 'pci_find_ext_capability' makes integer from pointer without a cast [enabled by default]
include/linux/pci.h:712:5: note: expected 'int' but argument is of type 'const int *'

Caused by commit 56288ab6e949 ("PCI: Fix PRI and PASID consistency") from
the pci tree interacting with various commits from the iommu tree.

I have added the following merge fix patch (and can carry it as
necessary).

From: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
Date: Thu, 15 Dec 2011 15:35:23 +1100
Subject: [PATCH] iommu: fix for pci identifier changes

Signed-off-by: Stephen Rothwell <sfr@xxxxxxxxxxxxxxxx>
---
drivers/iommu/amd_iommu.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/iommu/amd_iommu.c b/drivers/iommu/amd_iommu.c
index 32fc99c..b1f155e 100644
--- a/drivers/iommu/amd_iommu.c
+++ b/drivers/iommu/amd_iommu.c
@@ -176,8 +176,8 @@ static bool pci_iommuv2_capable(struct pci_dev *pdev)
{
static const int caps[] = {
PCI_EXT_CAP_ID_ATS,
- PCI_PRI_CAP,
- PCI_PASID_CAP,
+ PCI_EXT_CAP_ID_PRI,
+ PCI_EXT_CAP_ID_PASID,
};
int i, pos;

@@ -1978,7 +1978,7 @@ static int pri_reset_while_enabled(struct pci_dev *pdev)
u16 control;
int pos;

- pos = pci_find_ext_capability(pdev, PCI_PRI_CAP);
+ pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_PRI);
if (!pos)
return -EINVAL;

@@ -2042,7 +2042,7 @@ bool pci_pri_tlp_required(struct pci_dev *pdev)
u16 control;
int pos;

- pos = pci_find_ext_capability(pdev, PCI_PRI_CAP);
+ pos = pci_find_ext_capability(pdev, PCI_EXT_CAP_ID_PRI);
if (!pos)
return false;

--
1.7.7.3

--
Cheers,
Stephen Rothwell sfr@xxxxxxxxxxxxxxxx
http://www.canb.auug.org.au/~sfr/

Attachment: pgp00000.pgp
Description: PGP signature