• Lorenzo Pieralisi's avatar
    ACPI/IORT: Fix build error when IOMMU_SUPPORT is disabled · 82126886
    Lorenzo Pieralisi authored
    If IOMMU_SUPPORT is not enabled (and therefore IOMMU_API is not
    selected), struct iommu_fwspec is an empty struct and
    IOMMU_FWSPEC_PCI_RC_ATS is not defined, resulting in the following
    compilation errors:
    
    drivers/acpi/arm64/iort.c: In function iort_iommu_configure:
    drivers/acpi/arm64/iort.c:1079:21: error: struct iommu_fwspec has no member named flag:
        dev->iommu_fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS;
                         ^~
    drivers/acpi/arm64/iort.c:1079:32: error: IOMMU_FWSPEC_PCI_RC_ATS
    undeclared (first use in this function)
        dev->iommu_fwspec->flags |= IOMMU_FWSPEC_PCI_RC_ATS;
                                    ^~~~~~~~~~~~~~~~~~~~~~~
    drivers/acpi/arm64/iort.c:1079:32: note: each undeclared identifier is reported only once for each function it appears in
    
    Move iort_iommu_configure() (and the helpers functions it relies on)
    into CONFIG_IOMMU_API preprocessor guarded code so that when
    CONFIG_IOMMU_SUPPORT is not enabled we prevent compiling code that is
    basically equivalent to no-OP, fixing the build errors.
    
    Cc: Jean-Philippe Brucker <jean-philippe.brucker@arm.com>
    Cc: Will Deacon <will.deacon@arm.com>
    Cc: Robin Murphy <robin.murphy@arm.com>
    Link: https://lore.kernel.org/linux-arm-kernel/20190515034253.79348-1-wangkefeng.wang@huawei.com/
    Fixes: 5702ee24 ("ACPI/IORT: Check ATS capability in root complex nodes")
    Signed-off-by: default avatarLorenzo Pieralisi <lorenzo.pieralisi@arm.com>
    Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
    82126886
iort.c 41.1 KB