Skip to content
  • Michael Ellerman's avatar
    vfio: Fix build break when SPAPR_TCE_IOMMU=n · d88423f7
    Michael Ellerman authored
    
    
    Currently the kconfig logic for VFIO_IOMMU_SPAPR_TCE and VFIO_SPAPR_EEH
    is broken when SPAPR_TCE_IOMMU=n. Leading to:
    
        warning: (VFIO) selects VFIO_IOMMU_SPAPR_TCE which has unmet direct dependencies (VFIO && SPAPR_TCE_IOMMU)
        warning: (VFIO) selects VFIO_IOMMU_SPAPR_TCE which has unmet direct dependencies (VFIO && SPAPR_TCE_IOMMU)
        drivers/vfio/vfio_iommu_spapr_tce.c:113:8: error: implicit declaration of function 'mm_iommu_find'
    
    This stems from the fact that VFIO selects VFIO_IOMMU_SPAPR_TCE, and
    although it has an if clause, the condition is not correct.
    
    We could fix it by doing select VFIO_IOMMU_SPAPR_TCE if SPAPR_TCE_IOMMU,
    but the cleaner fix is to drop the selects and tie VFIO_IOMMU_SPAPR_TCE
    to the value of VFIO, and express the dependencies in only once place.
    
    Do the same for VFIO_SPAPR_EEH.
    
    The end result is that the values of VFIO_IOMMU_SPAPR_TCE and
    VFIO_SPAPR_EEH follow the value of VFIO, except when SPAPR_TCE_IOMMU=n
    and/or EEH=n. Which is exactly what we want to happen.
    
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    Signed-off-by: default avatarAlex Williamson <alex.williamson@redhat.com>
    d88423f7