diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 5424d7a277e0..3ef370973608 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -5674,12 +5674,21 @@ static int qsmmuv500_tbu_probe(struct platform_device *pdev) return 0; } +static int qsmmuv500_tbu_remove(struct platform_device *pdev) +{ + struct qsmmuv500_tbu_device *tbu = dev_get_drvdata(&pdev->dev); + + arm_smmu_exit_power_resources(tbu->pwr); + return 0; +} + static struct platform_driver qsmmuv500_tbu_driver = { .driver = { .name = "qsmmuv500-tbu", .of_match_table = of_match_ptr(qsmmuv500_tbu_of_match), }, .probe = qsmmuv500_tbu_probe, + .remove = qsmmuv500_tbu_remove, }; MODULE_DESCRIPTION("IOMMU API for ARM architected SMMU implementations");