Michael Ellerman <mpe@xxxxxxxxxxxxxx> writes: > 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. Ping? There was a bit of discussion on this patch but I think we decided it was correct in the end. cheers