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 5a9ba81..c8282cc 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)