From 097a7df2e3af1b716cd39ce90001a2c372488e58 Mon Sep 17 00:00:00 2001 From: YueHaibing Date: Tue, 3 Sep 2019 14:50:56 +0800 Subject: iommu/arm-smmu-v3: Fix build error without CONFIG_PCI_ATS If CONFIG_PCI_ATS is not set, building fails: drivers/iommu/arm-smmu-v3.c: In function arm_smmu_ats_supported: drivers/iommu/arm-smmu-v3.c:2325:35: error: struct pci_dev has no member named ats_cap; did you mean msi_cap? return !pdev->untrusted && pdev->ats_cap; ^~~~~~~ ats_cap should only used when CONFIG_PCI_ATS is defined, so use #ifdef block to guard this. Fixes: bfff88ec1afe ("iommu/arm-smmu-v3: Rework enabling/disabling of ATS for PCI masters") Signed-off-by: YueHaibing Signed-off-by: Joerg Roedel --- drivers/iommu/arm-smmu-v3.c | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'drivers/iommu') diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c index 29b773e186c8..4aa414843557 100644 --- a/drivers/iommu/arm-smmu-v3.c +++ b/drivers/iommu/arm-smmu-v3.c @@ -2311,6 +2311,7 @@ static void arm_smmu_install_ste_for_dev(struct arm_smmu_master *master) } } +#ifdef CONFIG_PCI_ATS static bool arm_smmu_ats_supported(struct arm_smmu_master *master) { struct pci_dev *pdev; @@ -2324,6 +2325,12 @@ static bool arm_smmu_ats_supported(struct arm_smmu_master *master) pdev = to_pci_dev(master->dev); return !pdev->untrusted && pdev->ats_cap; } +#else +static bool arm_smmu_ats_supported(struct arm_smmu_master *master) +{ + return false; +} +#endif static void arm_smmu_enable_ats(struct arm_smmu_master *master) { -- cgit v1.2.3-70-g09d2