[PATCH v5 1/8] iommu/rockchip: Fix devm_{request,free}_irq parameter

Shunqian Zheng zhengsq at rock-chips.com
Thu Jun 23 19:13:26 PDT 2016

From: Simon Xue <xxm at rock-chips.com>

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 at rock-chips.com>
Signed-off-by: Shunqian Zheng <zhengsq at rock-chips.com>
Reviewed-by: Douglas Anderson <dianders at chromium.org>
Signed-off-by: Tomasz Figa <tfiga at chromium.org>
 drivers/iommu/rockchip-iommu.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/drivers/iommu/rockchip-iommu.c b/drivers/iommu/rockchip-iommu.c
index 25b4627..5a9659a 100644
--- a/drivers/iommu/rockchip-iommu.c
+++ b/drivers/iommu/rockchip-iommu.c
@@ -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,
-	devm_free_irq(dev, iommu->irq, iommu);
+	devm_free_irq(iommu->dev, iommu->irq, iommu);
 	iommu->domain = NULL;

More information about the Linux-rockchip mailing list