diff options
author | Joerg Roedel <jroedel@suse.de> | 2018-11-29 14:01:00 +0100 |
---|---|---|
committer | Joerg Roedel <jroedel@suse.de> | 2018-12-17 10:38:32 +0100 |
commit | 5c7e6bd71bfd96a65adb62593ea1b7d51a445b26 (patch) | |
tree | a6c3dd436886b271c553b7693910d14d6285d497 /drivers/iommu/of_iommu.c | |
parent | iommu/mediatek: Use helper functions to access dev->iommu_fwspec (diff) | |
download | linux-5c7e6bd71bfd96a65adb62593ea1b7d51a445b26.tar.xz linux-5c7e6bd71bfd96a65adb62593ea1b7d51a445b26.zip |
iommu/of: Use helper functions to access dev->iommu_fwspec
Use the new helpers dev_iommu_fwspec_get()/set() to access
the dev->iommu_fwspec pointer. This makes it easier to move
that pointer later into another struct.
Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/of_iommu.c')
-rw-r--r-- | drivers/iommu/of_iommu.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/drivers/iommu/of_iommu.c b/drivers/iommu/of_iommu.c index c5dd63072529..8b071f3dcf9e 100644 --- a/drivers/iommu/of_iommu.c +++ b/drivers/iommu/of_iommu.c @@ -164,7 +164,7 @@ const struct iommu_ops *of_iommu_configure(struct device *dev, struct device_node *master_np) { const struct iommu_ops *ops = NULL; - struct iommu_fwspec *fwspec = dev->iommu_fwspec; + struct iommu_fwspec *fwspec = dev_iommu_fwspec_get(dev); int err = NO_IOMMU; if (!master_np) @@ -208,14 +208,18 @@ const struct iommu_ops *of_iommu_configure(struct device *dev, } } + /* * Two success conditions can be represented by non-negative err here: * >0 : there is no IOMMU, or one was unavailable for non-fatal reasons * 0 : we found an IOMMU, and dev->fwspec is initialised appropriately * <0 : any actual error */ - if (!err) - ops = dev->iommu_fwspec->ops; + if (!err) { + /* The fwspec pointer changed, read it again */ + fwspec = dev_iommu_fwspec_get(dev); + ops = fwspec->ops; + } /* * If we have reason to believe the IOMMU driver missed the initial * add_device callback for dev, replay it to get things in order. |