iommu/msm: Mark driver BROKEN
authorThierry Reding <[email protected]>
Fri, 6 Feb 2015 10:44:08 +0000 (11:44 +0100)
committerJoerg Roedel <[email protected]>
Wed, 25 Feb 2015 12:42:26 +0000 (13:42 +0100)
commita3f447a4f19c5799bf67be622a72846ab81c5399
treee74a0cf50af259f6299690563ae4fe7ebaed4fb8
parent425061b0f5074c727446b6383d0880f089ede469
iommu/msm: Mark driver BROKEN

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 <[email protected]>
Cc: David Brown <[email protected]>
Cc: Daniel Walker <[email protected]>
Cc: Bryan Huntsman <[email protected]>
Cc: Olav Haugan <[email protected]>
Acked-by: Rob Clark <[email protected]>
Signed-off-by: Thierry Reding <[email protected]>
Signed-off-by: Joerg Roedel <[email protected]>
drivers/iommu/Kconfig