iommu: Move sg_table wrapper out of CONFIG_IOMMU_SUPPORT
authorMarek Szyprowski <m.szyprowski@samsung.com>
Tue, 30 Jun 2020 08:17:56 +0000 (10:17 +0200)
committerJoerg Roedel <jroedel@suse.de>
Tue, 30 Jun 2020 10:15:42 +0000 (12:15 +0200)
Move the recently added sg_table wrapper out of CONFIG_IOMMU_SUPPORT to
let the client code copile also when IOMMU support is disabled.

Fixes: 48530d9fab0d ("iommu: add generic helper for mapping sgtable objects")
Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20200630081756.18526-1-m.szyprowski@samsung.com
Signed-off-by: Joerg Roedel <jroedel@suse.de>
include/linux/iommu.h

index 5f0b785..5657d4f 100644 (file)
@@ -457,22 +457,6 @@ extern phys_addr_t iommu_iova_to_phys(struct iommu_domain *domain, dma_addr_t io
 extern void iommu_set_fault_handler(struct iommu_domain *domain,
                        iommu_fault_handler_t handler, void *token);
 
-/**
- * iommu_map_sgtable - Map the given buffer to the IOMMU domain
- * @domain:    The IOMMU domain to perform the mapping
- * @iova:      The start address to map the buffer
- * @sgt:       The sg_table object describing the buffer
- * @prot:      IOMMU protection bits
- *
- * Creates a mapping at @iova for the buffer described by a scatterlist
- * stored in the given sg_table object in the provided IOMMU domain.
- */
-static inline size_t iommu_map_sgtable(struct iommu_domain *domain,
-                       unsigned long iova, struct sg_table *sgt, int prot)
-{
-       return iommu_map_sg(domain, iova, sgt->sgl, sgt->orig_nents, prot);
-}
-
 extern void iommu_get_resv_regions(struct device *dev, struct list_head *list);
 extern void iommu_put_resv_regions(struct device *dev, struct list_head *list);
 extern void generic_iommu_put_resv_regions(struct device *dev,
@@ -1079,6 +1063,22 @@ static inline struct iommu_fwspec *dev_iommu_fwspec_get(struct device *dev)
 }
 #endif /* CONFIG_IOMMU_API */
 
+/**
+ * iommu_map_sgtable - Map the given buffer to the IOMMU domain
+ * @domain:    The IOMMU domain to perform the mapping
+ * @iova:      The start address to map the buffer
+ * @sgt:       The sg_table object describing the buffer
+ * @prot:      IOMMU protection bits
+ *
+ * Creates a mapping at @iova for the buffer described by a scatterlist
+ * stored in the given sg_table object in the provided IOMMU domain.
+ */
+static inline size_t iommu_map_sgtable(struct iommu_domain *domain,
+                       unsigned long iova, struct sg_table *sgt, int prot)
+{
+       return iommu_map_sg(domain, iova, sgt->sgl, sgt->orig_nents, prot);
+}
+
 #ifdef CONFIG_IOMMU_DEBUGFS
 extern struct dentry *iommu_debugfs_dir;
 void iommu_debugfs_setup(void);