diff options
author | Sricharan R <sricharan@codeaurora.org> | 2018-12-04 11:52:11 +0530 |
---|---|---|
committer | Will Deacon <will.deacon@arm.com> | 2018-12-10 14:55:59 +0000 |
commit | 655e364374e74a910d87dbe758bad3e4794f659e (patch) | |
tree | 8924b54fc4ccf4a9f8ed1f73c0334f5bb68476ee | |
parent | d4a44f0750bb9bf7c44c22444a482756b2344a79 (diff) | |
download | linux-stable-655e364374e74a910d87dbe758bad3e4794f659e.tar.gz linux-stable-655e364374e74a910d87dbe758bad3e4794f659e.tar.bz2 linux-stable-655e364374e74a910d87dbe758bad3e4794f659e.zip |
iommu/arm-smmu: Add the device_link between masters and smmu
Finally add the device link between the master device and
smmu, so that the smmu gets runtime enabled/disabled only when the
master needs it. This is done from add_device callback which gets
called once when the master is added to the smmu.
Signed-off-by: Sricharan R <sricharan@codeaurora.org>
Signed-off-by: Vivek Gautam <vivek.gautam@codeaurora.org>
Reviewed-by: Tomasz Figa <tfiga@chromium.org>
Tested-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Reviewed-by: Robin Murphy <robin.murphy@arm.com>
Signed-off-by: Will Deacon <will.deacon@arm.com>
-rw-r--r-- | drivers/iommu/arm-smmu.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/iommu/arm-smmu.c b/drivers/iommu/arm-smmu.c index 1917d214c4d9..b6b11642b3a9 100644 --- a/drivers/iommu/arm-smmu.c +++ b/drivers/iommu/arm-smmu.c @@ -1500,6 +1500,9 @@ static int arm_smmu_add_device(struct device *dev) iommu_device_link(&smmu->iommu, dev); + device_link_add(dev, smmu->dev, + DL_FLAG_PM_RUNTIME | DL_FLAG_AUTOREMOVE_SUPPLIER); + return 0; out_cfg_free: |