From: Thierry Reding <tred...@nvidia.com> The MSM IOMMU driver unconditionally calls bus_set_iommu(), which is a very stupid thing to do on multi-platform kernels. While marking the driver BROKEN may seem a little extreme, there is no other way to make the driver skip initialization. One of the problems is that it doesn't have devicetree binding documentation and the driver doesn't contain a struct of_device_id table either, so no way to check that it is indeed valid to set up the IOMMU operations for this driver.
This fixes a problem on Tegra20 where the DRM driver will try to use the obviously non-existent MSM IOMMU. Marking the driver BROKEN shouldn't do any harm, since there aren't any users currently. There is no struct of_device_id table, so the device can't be instantiated from device tree, and I couldn't find any code that would instantiate a matching platform_device either, so the driver is effectively unused. Reported-by: Nicolas Chauvet <kwiz...@gmail.com> Cc: David Brown <dav...@codeaurora.org> Cc: Daniel Walker <dwal...@fifo99.com> Cc: Bryan Huntsman <bry...@codeaurora.org> Cc: Olav Haugan <ohau...@codeaurora.org> Signed-off-by: Thierry Reding <tred...@nvidia.com> --- drivers/iommu/Kconfig | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/iommu/Kconfig b/drivers/iommu/Kconfig index 325188eef1c1..0f70bc1fce65 100644 --- a/drivers/iommu/Kconfig +++ b/drivers/iommu/Kconfig @@ -31,6 +31,7 @@ config FSL_PAMU config MSM_IOMMU bool "MSM IOMMU Support" depends on ARCH_MSM8X60 || ARCH_MSM8960 + depends on BROKEN select IOMMU_API help Support for the IOMMUs found on certain Qualcomm SOCs. -- 2.1.3 _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu