Commit ef0f48c6 authored by Jason Gunthorpe's avatar Jason Gunthorpe Committed by Joerg Roedel

iommu/rockchip: Convert to generic_single_device_group()

Use the new helper.
Signed-off-by: default avatarJason Gunthorpe <jgg@nvidia.com>
Link: https://lore.kernel.org/r/5-v1-c869a95191f2+5e8-iommu_single_grp_jgg@nvidia.comSigned-off-by: default avatarJoerg Roedel <jroedel@suse.de>
parent a62cafe1
...@@ -113,7 +113,6 @@ struct rk_iommu { ...@@ -113,7 +113,6 @@ struct rk_iommu {
struct iommu_device iommu; struct iommu_device iommu;
struct list_head node; /* entry in rk_iommu_domain.iommus */ struct list_head node; /* entry in rk_iommu_domain.iommus */
struct iommu_domain *domain; /* domain to which iommu is attached */ struct iommu_domain *domain; /* domain to which iommu is attached */
struct iommu_group *group;
}; };
struct rk_iommudata { struct rk_iommudata {
...@@ -1137,15 +1136,6 @@ static void rk_iommu_release_device(struct device *dev) ...@@ -1137,15 +1136,6 @@ static void rk_iommu_release_device(struct device *dev)
device_link_del(data->link); device_link_del(data->link);
} }
static struct iommu_group *rk_iommu_device_group(struct device *dev)
{
struct rk_iommu *iommu;
iommu = rk_iommu_from_dev(dev);
return iommu_group_ref_get(iommu->group);
}
static int rk_iommu_of_xlate(struct device *dev, static int rk_iommu_of_xlate(struct device *dev,
struct of_phandle_args *args) struct of_phandle_args *args)
{ {
...@@ -1172,7 +1162,7 @@ static const struct iommu_ops rk_iommu_ops = { ...@@ -1172,7 +1162,7 @@ static const struct iommu_ops rk_iommu_ops = {
.domain_alloc_paging = rk_iommu_domain_alloc_paging, .domain_alloc_paging = rk_iommu_domain_alloc_paging,
.probe_device = rk_iommu_probe_device, .probe_device = rk_iommu_probe_device,
.release_device = rk_iommu_release_device, .release_device = rk_iommu_release_device,
.device_group = rk_iommu_device_group, .device_group = generic_single_device_group,
.pgsize_bitmap = RK_IOMMU_PGSIZE_BITMAP, .pgsize_bitmap = RK_IOMMU_PGSIZE_BITMAP,
.of_xlate = rk_iommu_of_xlate, .of_xlate = rk_iommu_of_xlate,
.default_domain_ops = &(const struct iommu_domain_ops) { .default_domain_ops = &(const struct iommu_domain_ops) {
...@@ -1260,15 +1250,9 @@ static int rk_iommu_probe(struct platform_device *pdev) ...@@ -1260,15 +1250,9 @@ static int rk_iommu_probe(struct platform_device *pdev)
if (err) if (err)
return err; return err;
iommu->group = iommu_group_alloc();
if (IS_ERR(iommu->group)) {
err = PTR_ERR(iommu->group);
goto err_unprepare_clocks;
}
err = iommu_device_sysfs_add(&iommu->iommu, dev, NULL, dev_name(dev)); err = iommu_device_sysfs_add(&iommu->iommu, dev, NULL, dev_name(dev));
if (err) if (err)
goto err_put_group; goto err_unprepare_clocks;
err = iommu_device_register(&iommu->iommu, &rk_iommu_ops, dev); err = iommu_device_register(&iommu->iommu, &rk_iommu_ops, dev);
if (err) if (err)
...@@ -1305,8 +1289,6 @@ static int rk_iommu_probe(struct platform_device *pdev) ...@@ -1305,8 +1289,6 @@ static int rk_iommu_probe(struct platform_device *pdev)
pm_runtime_disable(dev); pm_runtime_disable(dev);
err_remove_sysfs: err_remove_sysfs:
iommu_device_sysfs_remove(&iommu->iommu); iommu_device_sysfs_remove(&iommu->iommu);
err_put_group:
iommu_group_put(iommu->group);
err_unprepare_clocks: err_unprepare_clocks:
clk_bulk_unprepare(iommu->num_clocks, iommu->clocks); clk_bulk_unprepare(iommu->num_clocks, iommu->clocks);
return err; return err;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment