iommu/arm-smmu: Drop devm_free_irq when driver detach
authorPeng Fan <van.freenix@gmail.com>
Wed, 13 Jul 2016 02:13:08 +0000 (10:13 +0800)
committerWill Deacon <will.deacon@arm.com>
Fri, 16 Sep 2016 08:34:12 +0000 (09:34 +0100)
There is no need to call devm_free_irq when driver detach.
devres_release_all which is called after 'drv->remove' will
release all managed resources.

Signed-off-by: Peng Fan <van.freenix@gmail.com>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
drivers/iommu/arm-smmu.c

index 2db74ebc324060683aa39fc51a94b49c60b5daab..069b2ea89113fb4a4c8e9c27e068a1e43c5fbef9 100644 (file)
@@ -1998,7 +1998,6 @@ out_put_masters:
 
 static int arm_smmu_device_remove(struct platform_device *pdev)
 {
-       int i;
        struct device *dev = &pdev->dev;
        struct arm_smmu_device *curr, *smmu = NULL;
        struct rb_node *node;
@@ -2025,9 +2024,6 @@ static int arm_smmu_device_remove(struct platform_device *pdev)
        if (!bitmap_empty(smmu->context_map, ARM_SMMU_MAX_CBS))
                dev_err(dev, "removing device with active domains!\n");
 
-       for (i = 0; i < smmu->num_global_irqs; ++i)
-               devm_free_irq(smmu->dev, smmu->irqs[i], smmu);
-
        /* Turn the thing off */
        writel(sCR0_CLIENTPD, ARM_SMMU_GR0_NS(smmu) + ARM_SMMU_GR0_sCR0);
        return 0;