On 29/02/16 18:09, Sricharan wrote:
Hi Robin,

-----Original Message-----

[...]

+static int __init arm_smmu_of_init(struct device_node *np) {
+       struct arm_smmu_device *smmu;
+       struct platform_device *pdev;
+       int ret = arm_smmu_init();
+
+       if (ret)
+               return ret;
+
+       pdev = of_platform_device_create(np, NULL,
platform_bus_type.dev_root);
+       if (!pdev)
+               return -ENODEV;
+
+       smmu = platform_get_drvdata(pdev);
+       of_iommu_set_ops(np, &arm_smmu_ops);
+
+       return 0;
+}
+IOMMU_OF_DECLARE(arm_smmuv1, "arm,smmu-v1",
arm_smmu_of_init);
+IOMMU_OF_DECLARE(arm_smmuv2, "arm,smmu-v2",
arm_smmu_of_init);
+IOMMU_OF_DECLARE(arm_mmu400, "arm,mmu-400",
arm_smmu_of_init);
+IOMMU_OF_DECLARE(arm_mmu401, "arm,mmu-401",
arm_smmu_of_init);
+IOMMU_OF_DECLARE(arm_mmu500, "arm,mmu-500",
arm_smmu_of_init);
+
  Thanks for this series. I am going to use and test this. Also I wanted to
  ask about the iommu probe deferral series [1] to avoid early device
registration and wanted know the direction on that ?

It's certainly on my near-term to-do list to revisit. I recall running into problems with that series if the IOMMU was ready but the device itself then requested probe deferral, and I have vague memories of thinking more needed to be done generally around the failure/device teardown path too. I also had high hopes for the on-demand device probing series from around the same time[2], which would have helped simplify things quite a bit, but that also seems to have died after a brief stint breaking things in -next.

Anyway, Marc reckons that we also have the exact same probe-dependency problem for things like IRQ-MSI bridges, so I'll be looking into a more general solution at some point unless anyone wants to beat me to it ;)

Thanks,
Robin.

[2]:http://thread.gmane.org/gmane.linux.acpi.devel/78833


[1] http://lkml.iu.edu/hypermail/linux/kernel/1505.3/03280.html

Regards,
  Sricharan


_______________________________________________
linux-arm-kernel mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel


_______________________________________________
iommu mailing list
[email protected]
https://lists.linuxfoundation.org/mailman/listinfo/iommu

Reply via email to