iommu/rockchip: Fix devm_{request,free}_irq parameter
authorSimon Xue <xxm@rock-chips.com>
Fri, 24 Jun 2016 02:13:26 +0000 (10:13 +0800)
committerJoerg Roedel <jroedel@suse.de>
Mon, 27 Jun 2016 12:50:08 +0000 (14:50 +0200)
Even though the IOMMU shares IRQ with its master, the struct device
passed to {request,free}_irq is supposed to represent the device that is
signalling the interrupt. This patch makes the driver use IOMMU device
instead of master's device to make things clear.

Signed-off-by: Simon Xue <xxm@rock-chips.com>
Signed-off-by: Shunqian Zheng <zhengsq@rock-chips.com>
Reviewed-by: Douglas Anderson <dianders@chromium.org>
Signed-off-by: Tomasz Figa <tfiga@chromium.org>
Signed-off-by: Joerg Roedel <jroedel@suse.de>
drivers/iommu/rockchip-iommu.c

index 25b4627..5a9659a 100644 (file)
@@ -807,7 +807,7 @@ static int rk_iommu_attach_device(struct iommu_domain *domain,
 
        iommu->domain = domain;
 
-       ret = devm_request_irq(dev, iommu->irq, rk_iommu_irq,
+       ret = devm_request_irq(iommu->dev, iommu->irq, rk_iommu_irq,
                               IRQF_SHARED, dev_name(dev), iommu);
        if (ret)
                return ret;
@@ -860,7 +860,7 @@ static void rk_iommu_detach_device(struct iommu_domain *domain,
        }
        rk_iommu_disable_stall(iommu);
 
-       devm_free_irq(dev, iommu->irq, iommu);
+       devm_free_irq(iommu->dev, iommu->irq, iommu);
 
        iommu->domain = NULL;