提交 5c7e6bd7 编写于 作者: J Joerg Roedel

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: NJoerg Roedel <jroedel@suse.de>
上级 a9bf2eec
...@@ -164,7 +164,7 @@ const struct iommu_ops *of_iommu_configure(struct device *dev, ...@@ -164,7 +164,7 @@ const struct iommu_ops *of_iommu_configure(struct device *dev,
struct device_node *master_np) struct device_node *master_np)
{ {
const struct iommu_ops *ops = NULL; 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; int err = NO_IOMMU;
if (!master_np) if (!master_np)
...@@ -208,14 +208,18 @@ const struct iommu_ops *of_iommu_configure(struct device *dev, ...@@ -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: * 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 : there is no IOMMU, or one was unavailable for non-fatal reasons
* 0 : we found an IOMMU, and dev->fwspec is initialised appropriately * 0 : we found an IOMMU, and dev->fwspec is initialised appropriately
* <0 : any actual error * <0 : any actual error
*/ */
if (!err) if (!err) {
ops = dev->iommu_fwspec->ops; /* 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 * If we have reason to believe the IOMMU driver missed the initial
* add_device callback for dev, replay it to get things in order. * add_device callback for dev, replay it to get things in order.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册