iommu/omap: Add registration for DT fwnode pointer
authorTero Kristo via iommu <iommu@lists.linux-foundation.org>
Fri, 24 Apr 2020 14:58:28 +0000 (17:58 +0300)
committerJoerg Roedel <jroedel@suse.de>
Mon, 18 May 2020 13:39:45 +0000 (15:39 +0200)
The fwnode pointer must be passed to the iommu core, so that the core
can map the IOMMU towards device requests properly. Without this, some
IOMMU clients like OMAP remoteproc will fail the iommu configuration
multiple times with -EPROBE_DEFER, which will eventually be ignored with
a kernel warning banner.

Signed-off-by: Tero Kristo <t-kristo@ti.com>
Link: https://lore.kernel.org/r/20200424145828.3159-1-t-kristo@ti.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/omap-iommu.c

index 5a9ba815863b460a0a7c6197c6f942c8c89d5df4..c8282cc212cbd69c81f3b7d26effa569700087c1 100644 (file)
@@ -1236,6 +1236,7 @@ static int omap_iommu_probe(struct platform_device *pdev)
                        goto out_group;
 
                iommu_device_set_ops(&obj->iommu, &omap_iommu_ops);
+               iommu_device_set_fwnode(&obj->iommu, &of->fwnode);
 
                err = iommu_device_register(&obj->iommu);
                if (err)