[PATCH v7 01/14] iommu/rockchip: Prohibit unbind and remove

Robin Murphy robin.murphy at arm.com
Wed Mar 7 04:55:54 PST 2018


On 06/03/18 03:02, Jeffy Chen wrote:
> Removal of IOMMUs cannot be done reliably.
> 
> This is similar to exynos iommu driver.

Acked-by: Robin Murphy <robin.murphy at arm.com>

> Signed-off-by: Jeffy Chen <jeffy.chen at rock-chips.com>
> Reviewed-by: Tomasz Figa <tfiga at chromium.org>
> ---
> 
> Changes in v7: None
> Changes in v6: None
> Changes in v5: None
> Changes in v4:
> Rewrite commit message.
> 
> Changes in v3:
> Also remove remove() and module_exit() as Tomasz suggested.
> 
> Changes in v2: None
> 
>   drivers/iommu/rockchip-iommu.c | 21 +--------------------
>   1 file changed, 1 insertion(+), 20 deletions(-)
> 
> diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
> index 9d991c2d8767..16cd8780c289 100644
> --- a/drivers/iommu/rockchip-iommu.c
> +++ b/drivers/iommu/rockchip-iommu.c
> @@ -1197,18 +1197,6 @@ static int rk_iommu_probe(struct platform_device *pdev)
>   	return err;
>   }
>   
> -static int rk_iommu_remove(struct platform_device *pdev)
> -{
> -	struct rk_iommu *iommu = platform_get_drvdata(pdev);
> -
> -	if (iommu) {
> -		iommu_device_sysfs_remove(&iommu->iommu);
> -		iommu_device_unregister(&iommu->iommu);
> -	}
> -
> -	return 0;
> -}
> -
>   static const struct of_device_id rk_iommu_dt_ids[] = {
>   	{ .compatible = "rockchip,iommu" },
>   	{ /* sentinel */ }
> @@ -1217,10 +1205,10 @@ MODULE_DEVICE_TABLE(of, rk_iommu_dt_ids);
>   
>   static struct platform_driver rk_iommu_driver = {
>   	.probe = rk_iommu_probe,
> -	.remove = rk_iommu_remove,
>   	.driver = {
>   		   .name = "rk_iommu",
>   		   .of_match_table = rk_iommu_dt_ids,
> +		   .suppress_bind_attrs = true,
>   	},
>   };
>   
> @@ -1248,14 +1236,7 @@ static int __init rk_iommu_init(void)
>   		platform_driver_unregister(&rk_iommu_domain_driver);
>   	return ret;
>   }
> -static void __exit rk_iommu_exit(void)
> -{
> -	platform_driver_unregister(&rk_iommu_driver);
> -	platform_driver_unregister(&rk_iommu_domain_driver);
> -}
> -
>   subsys_initcall(rk_iommu_init);
> -module_exit(rk_iommu_exit);
>   
>   MODULE_DESCRIPTION("IOMMU API for Rockchip");
>   MODULE_AUTHOR("Simon Xue <xxm at rock-chips.com> and Daniel Kurtz <djkurtz at chromium.org>");
> 



More information about the linux-arm-kernel mailing list