aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux
diff options
context:
space:
mode:
authorRobin Murphy <Robin.Murphy@arm.com>2014-12-05 08:41:02 -0500
committerWill Deacon <will.deacon@arm.com>2014-12-05 09:35:52 -0500
commita42a7a1fb5f1f9004b023594609dc22da02fc08b (patch)
treee6f54fe900945b7c1939757a59aeabc510605a27 /include/linux
parent4bb25789ed28228a52c030bf28edb2fcdb214be8 (diff)
iommu: store DT-probed IOMMU data privately
Since the data pointer in the DT node is public and may be overwritten by conflicting code, move the DT-probed IOMMU ops to a private list where they will be safe. Acked-by: Grant Likely <grant.likely@linaro.org> Signed-off-by: Robin Murphy <robin.murphy@arm.com> [will: added missing #include and missing ')'] Signed-off-by: Will Deacon <will.deacon@arm.com>
Diffstat (limited to 'include/linux')
-rw-r--r--include/linux/of_iommu.h12
1 files changed, 2 insertions, 10 deletions
diff --git a/include/linux/of_iommu.h b/include/linux/of_iommu.h
index d03abbb11c34..16c75547d725 100644
--- a/include/linux/of_iommu.h
+++ b/include/linux/of_iommu.h
@@ -31,16 +31,8 @@ static inline struct iommu_ops *of_iommu_configure(struct device *dev)
31 31
32#endif /* CONFIG_OF_IOMMU */ 32#endif /* CONFIG_OF_IOMMU */
33 33
34static inline void of_iommu_set_ops(struct device_node *np, 34void of_iommu_set_ops(struct device_node *np, struct iommu_ops *ops);
35 const struct iommu_ops *ops) 35struct iommu_ops *of_iommu_get_ops(struct device_node *np);
36{
37 np->data = (struct iommu_ops *)ops;
38}
39
40static inline struct iommu_ops *of_iommu_get_ops(struct device_node *np)
41{
42 return np->data;
43}
44 36
45extern struct of_device_id __iommu_of_table; 37extern struct of_device_id __iommu_of_table;
46 38