[PATCH v2 7/9] iommu/arm-smmu: remove arm_smmu_devices
Robin Murphy
robin.murphy at arm.com
Wed Jul 8 06:13:52 PDT 2015
On 07/07/15 04:30, Zhen Lei wrote:
> It can be replaced by of_iommu_list(in of_iommu.c).
>
> Signed-off-by: Zhen Lei <thunder.leizhen at huawei.com>
> ---
> drivers/iommu/arm-smmu-v3.c | 22 ++--------------------
> 1 file changed, 2 insertions(+), 20 deletions(-)
>
> diff --git a/drivers/iommu/arm-smmu-v3.c b/drivers/iommu/arm-smmu-v3.c
> index c569539..39c55f6 100644
> --- a/drivers/iommu/arm-smmu-v3.c
> +++ b/drivers/iommu/arm-smmu-v3.c
> @@ -604,10 +604,6 @@ struct arm_smmu_domain {
> struct iommu_domain domain;
> };
>
> -/* Our list of SMMU instances */
> -static DEFINE_SPINLOCK(arm_smmu_devices_lock);
> -static LIST_HEAD(arm_smmu_devices);
> -
> struct arm_smmu_option_prop {
> u32 opt;
> const char *prop;
> @@ -2675,11 +2671,6 @@ static int arm_smmu_device_dt_probe(struct platform_device *pdev)
> if (ret)
> goto out_free_structures;
>
> - /* Record our private device structure */
> - INIT_LIST_HEAD(&smmu->list);
> - spin_lock(&arm_smmu_devices_lock);
> - list_add(&smmu->list, &arm_smmu_devices);
> - spin_unlock(&arm_smmu_devices_lock);
> platform_set_drvdata(pdev, smmu);
> of_iommu_set_ops(smmu->dev->of_node, &arm_smmu_ops);
>
> @@ -2692,19 +2683,10 @@ out_free_structures:
>
> static int arm_smmu_device_remove(struct platform_device *pdev)
> {
> - struct arm_smmu_device *curr, *smmu = NULL;
> + struct arm_smmu_device *smmu;
> struct device *dev = &pdev->dev;
>
> - spin_lock(&arm_smmu_devices_lock);
> - list_for_each_entry(curr, &arm_smmu_devices, list) {
> - if (curr->dev == dev) {
> - smmu = curr;
> - list_del(&smmu->list);
> - break;
> - }
> - }
> - spin_unlock(&arm_smmu_devices_lock);
> -
> + smmu = find_smmu_by_node(dev->of_node);
Isn't that just a really long round-trip to platform_get_drvdata(pdev)?
> if (!smmu)
> return -ENODEV;
>
> --
> 1.8.0
>
>
> _______________________________________________
> iommu mailing list
> iommu at lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu
>
More information about the linux-arm-kernel
mailing list