iommu/rockchip: fix old/new iommu driver conflict
[firefly-linux-kernel-4.4.55.git] / drivers / iommu / rk-iommu.c
index e2ae0d813cafd01357a0da4741ff4a06bd75a032..d63bb6f54d64ffc9d03e8339e83cf11c16a5901e 100644 (file)
@@ -1245,8 +1245,15 @@ static struct platform_driver rk_iommu_driver = {
 
 static int __init rockchip_iommu_init_driver(void)
 {
+       struct device_node *np;
        int ret;
 
+       np = of_find_matching_node(NULL, iommu_dt_ids);
+       if (!np) {
+               pr_err("Failed to find legacy iommu devices\n");
+               return -ENODEV;
+       }
+
        lv2table_kmem_cache = kmem_cache_create("rk-iommu-lv2table",
                                                LV2TABLE_SIZE, LV2TABLE_SIZE,
                                                0, NULL);