diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 08016ea62bee..e5cde40b687e 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -5594,12 +5594,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");