iommu/ipmmu-vmsa: Clean up bus_set_iommu()
Stop calling bus_set_iommu() since it's now unnecessary. This also leaves the custom initcall effectively doing nothing but register the driver, which no longer needs to happen early either, so convert it to builtin_platform_driver(). Signed-off-by: Robin Murphy <robin.murphy@arm.com> Reported-by: kernel test robot <lkp@intel.com> Link: https://lore.kernel.org/r/14377566e449950c19367f75ec1b09724bf0889f.1660572783.git.robin.murphy@arm.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
2bba80c2bf
commit
b87d6d7fa4
|
@ -1090,11 +1090,6 @@ static int ipmmu_probe(struct platform_device *pdev)
|
|||
ret = iommu_device_register(&mmu->iommu, &ipmmu_ops, &pdev->dev);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
#if defined(CONFIG_IOMMU_DMA)
|
||||
if (!iommu_present(&platform_bus_type))
|
||||
bus_set_iommu(&platform_bus_type, &ipmmu_ops);
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
|
@ -1168,32 +1163,4 @@ static struct platform_driver ipmmu_driver = {
|
|||
.probe = ipmmu_probe,
|
||||
.remove = ipmmu_remove,
|
||||
};
|
||||
|
||||
static int __init ipmmu_init(void)
|
||||
{
|
||||
struct device_node *np;
|
||||
static bool setup_done;
|
||||
int ret;
|
||||
|
||||
if (setup_done)
|
||||
return 0;
|
||||
|
||||
np = of_find_matching_node(NULL, ipmmu_of_ids);
|
||||
if (!np)
|
||||
return 0;
|
||||
|
||||
of_node_put(np);
|
||||
|
||||
ret = platform_driver_register(&ipmmu_driver);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
||||
#if defined(CONFIG_ARM) && !defined(CONFIG_IOMMU_DMA)
|
||||
if (!iommu_present(&platform_bus_type))
|
||||
bus_set_iommu(&platform_bus_type, &ipmmu_ops);
|
||||
#endif
|
||||
|
||||
setup_done = true;
|
||||
return 0;
|
||||
}
|
||||
subsys_initcall(ipmmu_init);
|
||||
builtin_platform_driver(ipmmu_driver);
|
||||
|
|
Loading…
Reference in New Issue