aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/of_iommu.h
diff options
context:
space:
mode:
authorRobin Murphy <Robin.Murphy@arm.com>2014-12-05 13:41:02 +0000
committerWill Deacon <will.deacon@arm.com>2014-12-05 14:35:52 +0000
commita42a7a1fb5f1f9004b023594609dc22da02fc08b (patch)
treee6f54fe900945b7c1939757a59aeabc510605a27 /include/linux/of_iommu.h
parentarm: dma-mapping: plumb our iommu mapping ops into arch_setup_dma_ops (diff)
downloadlinux-dev-a42a7a1fb5f1f9004b023594609dc22da02fc08b.tar.xz
linux-dev-a42a7a1fb5f1f9004b023594609dc22da02fc08b.zip
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/of_iommu.h')
-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)
#endif /* CONFIG_OF_IOMMU */
-static inline void of_iommu_set_ops(struct device_node *np,
- const struct iommu_ops *ops)
-{
- np->data = (struct iommu_ops *)ops;
-}
-
-static inline struct iommu_ops *of_iommu_get_ops(struct device_node *np)
-{
- return np->data;
-}
+void of_iommu_set_ops(struct device_node *np, struct iommu_ops *ops);
+struct iommu_ops *of_iommu_get_ops(struct device_node *np);
extern struct of_device_id __iommu_of_table;