drivers: iommu: pgtable-arm: Move S1 function to common
Signed-off-by: Mostafa Saleh <smostafa@google.com>
diff --git a/drivers/iommu/io-pgtable-arm-common.c b/drivers/iommu/io-pgtable-arm-common.c
index a7356f6..12a1097 100644
--- a/drivers/iommu/io-pgtable-arm-common.c
+++ b/drivers/iommu/io-pgtable-arm-common.c
@@ -789,3 +789,15 @@ int arm_64_lpae_configure_s2(struct io_pgtable_cfg *cfg, size_t *pgd_size)
*pgd_size = sizeof(arm_lpae_iopte) << data.pgd_bits;
return 0;
}
+
+int arm_64_lpae_configure_s1(struct io_pgtable_cfg *cfg, size_t *pgd_size)
+{
+ int ret;
+ struct arm_lpae_io_pgtable data = {};
+
+ ret = arm_lpae_init_pgtable_s1(cfg, &data);
+ if (ret)
+ return ret;
+ *pgd_size = sizeof(arm_lpae_iopte) << data.pgd_bits;
+ return 0;
+}
diff --git a/drivers/iommu/io-pgtable-arm.c b/drivers/iommu/io-pgtable-arm.c
index 8290e42..ed0a92f 100644
--- a/drivers/iommu/io-pgtable-arm.c
+++ b/drivers/iommu/io-pgtable-arm.c
@@ -118,18 +118,6 @@ int arm_64_lpae_alloc_pgtable_s1(struct io_pgtable *iop,
return -EINVAL;
}
-static int arm_64_lpae_configure_s1(struct io_pgtable_cfg *cfg, size_t *pgd_size)
-{
- int ret;
- struct arm_lpae_io_pgtable data = {};
-
- ret = arm_lpae_init_pgtable_s1(cfg, &data);
- if (ret)
- return ret;
- *pgd_size = sizeof(arm_lpae_iopte) << data.pgd_bits;
- return 0;
-}
-
int arm_64_lpae_alloc_pgtable_s2(struct io_pgtable *iop,
struct io_pgtable_cfg *cfg, void *cookie)
{
diff --git a/include/linux/io-pgtable-arm.h b/include/linux/io-pgtable-arm.h
index 37ea3a7..5448aad 100644
--- a/include/linux/io-pgtable-arm.h
+++ b/include/linux/io-pgtable-arm.h
@@ -191,4 +191,5 @@ void __arm_lpae_free_pages(void *pages, size_t size, struct io_pgtable_cfg *cfg)
void __arm_lpae_sync_pte(arm_lpae_iopte *ptep, int num_entries,
struct io_pgtable_cfg *cfg);
int arm_64_lpae_configure_s2(struct io_pgtable_cfg *cfg, size_t *pgd_size);
+int arm_64_lpae_configure_s1(struct io_pgtable_cfg *cfg, size_t *pgd_size);
#endif /* IO_PGTABLE_H_ */