iommu/virtio: Clean up bus_set_iommu()
Stop calling bus_set_iommu() since it's now unnecessary, and simplify the probe failure path accordingly. Reviewed-by: Jean-Philippe Brucker <jean-philippe@linaro.org> Signed-off-by: Robin Murphy <robin.murphy@arm.com> Link: https://lore.kernel.org/r/0ff6f9166081724510e6772e43d45b317cab8c58.1660572783.git.robin.murphy@arm.com Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
48a7c5080a
commit
19d3607c74
@ -7,7 +7,6 @@
|
||||
|
||||
#define pr_fmt(fmt) KBUILD_MODNAME ": " fmt
|
||||
|
||||
#include <linux/amba/bus.h>
|
||||
#include <linux/delay.h>
|
||||
#include <linux/dma-iommu.h>
|
||||
#include <linux/dma-map-ops.h>
|
||||
@ -17,7 +16,6 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/of_platform.h>
|
||||
#include <linux/pci.h>
|
||||
#include <linux/platform_device.h>
|
||||
#include <linux/virtio.h>
|
||||
#include <linux/virtio_config.h>
|
||||
#include <linux/virtio_ids.h>
|
||||
@ -1145,26 +1143,6 @@ static int viommu_probe(struct virtio_device *vdev)
|
||||
|
||||
iommu_device_register(&viommu->iommu, &viommu_ops, parent_dev);
|
||||
|
||||
#ifdef CONFIG_PCI
|
||||
if (pci_bus_type.iommu_ops != &viommu_ops) {
|
||||
ret = bus_set_iommu(&pci_bus_type, &viommu_ops);
|
||||
if (ret)
|
||||
goto err_unregister;
|
||||
}
|
||||
#endif
|
||||
#ifdef CONFIG_ARM_AMBA
|
||||
if (amba_bustype.iommu_ops != &viommu_ops) {
|
||||
ret = bus_set_iommu(&amba_bustype, &viommu_ops);
|
||||
if (ret)
|
||||
goto err_unregister;
|
||||
}
|
||||
#endif
|
||||
if (platform_bus_type.iommu_ops != &viommu_ops) {
|
||||
ret = bus_set_iommu(&platform_bus_type, &viommu_ops);
|
||||
if (ret)
|
||||
goto err_unregister;
|
||||
}
|
||||
|
||||
vdev->priv = viommu;
|
||||
|
||||
dev_info(dev, "input address: %u bits\n",
|
||||
@ -1173,9 +1151,6 @@ static int viommu_probe(struct virtio_device *vdev)
|
||||
|
||||
return 0;
|
||||
|
||||
err_unregister:
|
||||
iommu_device_sysfs_remove(&viommu->iommu);
|
||||
iommu_device_unregister(&viommu->iommu);
|
||||
err_free_vqs:
|
||||
vdev->config->del_vqs(vdev);
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user