[PATCH] riscv: remove unused SBI helpers and exports

Christoph Hellwig hch at lst.de
Thu May 27 00:20:47 PDT 2021


Except for sbi_console_getchar and sbi_console_putchar none of
the SBI helpers are used in modular code, and many are not used at all
or only inside of sbi.c.  Remove the dead wood.

Signed-off-by: Christoph Hellwig <hch at lst.de>
---
 arch/riscv/include/asm/sbi.h |  17 ------
 arch/riscv/kernel/sbi.c      | 103 +----------------------------------
 2 files changed, 2 insertions(+), 118 deletions(-)

diff --git a/arch/riscv/include/asm/sbi.h b/arch/riscv/include/asm/sbi.h
index 0d42693cb65e..c051556d5bbc 100644
--- a/arch/riscv/include/asm/sbi.h
+++ b/arch/riscv/include/asm/sbi.h
@@ -101,9 +101,6 @@ long sbi_get_mvendorid(void);
 long sbi_get_marchid(void);
 long sbi_get_mimpid(void);
 void sbi_set_timer(uint64_t stime_value);
-void sbi_shutdown(void);
-void sbi_clear_ipi(void);
-int sbi_send_ipi(const unsigned long *hart_mask);
 int sbi_remote_fence_i(const unsigned long *hart_mask);
 int sbi_remote_sfence_vma(const unsigned long *hart_mask,
 			   unsigned long start,
@@ -113,20 +110,6 @@ int sbi_remote_sfence_vma_asid(const unsigned long *hart_mask,
 				unsigned long start,
 				unsigned long size,
 				unsigned long asid);
-int sbi_remote_hfence_gvma(const unsigned long *hart_mask,
-			   unsigned long start,
-			   unsigned long size);
-int sbi_remote_hfence_gvma_vmid(const unsigned long *hart_mask,
-				unsigned long start,
-				unsigned long size,
-				unsigned long vmid);
-int sbi_remote_hfence_vvma(const unsigned long *hart_mask,
-			   unsigned long start,
-			   unsigned long size);
-int sbi_remote_hfence_vvma_asid(const unsigned long *hart_mask,
-				unsigned long start,
-				unsigned long size,
-				unsigned long asid);
 int sbi_probe_extension(int ext);
 
 /* Check if current SBI specification version is 0.1 or not */
diff --git a/arch/riscv/kernel/sbi.c b/arch/riscv/kernel/sbi.c
index 7402a417f38e..c152c0c43358 100644
--- a/arch/riscv/kernel/sbi.c
+++ b/arch/riscv/kernel/sbi.c
@@ -12,7 +12,6 @@
 
 /* default SBI version is 0.1 */
 unsigned long sbi_spec_version __ro_after_init = SBI_SPEC_VERSION_DEFAULT;
-EXPORT_SYMBOL(sbi_spec_version);
 
 static void (*__sbi_set_timer)(uint64_t stime) __ro_after_init;
 static int (*__sbi_send_ipi)(const unsigned long *hart_mask) __ro_after_init;
@@ -44,7 +43,6 @@ struct sbiret sbi_ecall(int ext, int fid, unsigned long arg0,
 
 	return ret;
 }
-EXPORT_SYMBOL(sbi_ecall);
 
 int sbi_err_map_linux_errno(int err)
 {
@@ -63,7 +61,6 @@ int sbi_err_map_linux_errno(int err)
 		return -ENOTSUPP;
 	};
 }
-EXPORT_SYMBOL(sbi_err_map_linux_errno);
 
 #ifdef CONFIG_RISCV_SBI_V01
 /**
@@ -98,22 +95,10 @@ EXPORT_SYMBOL(sbi_console_getchar);
  *
  * Return: None
  */
-void sbi_shutdown(void)
+static void sbi_shutdown(void)
 {
 	sbi_ecall(SBI_EXT_0_1_SHUTDOWN, 0, 0, 0, 0, 0, 0, 0);
 }
-EXPORT_SYMBOL(sbi_shutdown);
-
-/**
- * sbi_clear_ipi() - Clear any pending IPIs for the calling hart.
- *
- * Return: None
- */
-void sbi_clear_ipi(void)
-{
-	sbi_ecall(SBI_EXT_0_1_CLEAR_IPI, 0, 0, 0, 0, 0, 0, 0);
-}
-EXPORT_SYMBOL(sbi_clear_ipi);
 
 /**
  * __sbi_set_timer_v01() - Program the timer for next timer event.
@@ -364,11 +349,10 @@ void sbi_set_timer(uint64_t stime_value)
  *
  * Return: 0 on success, appropriate linux error code otherwise.
  */
-int sbi_send_ipi(const unsigned long *hart_mask)
+static int sbi_send_ipi(const unsigned long *hart_mask)
 {
 	return __sbi_send_ipi(hart_mask);
 }
-EXPORT_SYMBOL(sbi_send_ipi);
 
 /**
  * sbi_remote_fence_i() - Execute FENCE.I instruction on given remote harts.
@@ -381,7 +365,6 @@ int sbi_remote_fence_i(const unsigned long *hart_mask)
 	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_FENCE_I,
 			    hart_mask, 0, 0, 0, 0);
 }
-EXPORT_SYMBOL(sbi_remote_fence_i);
 
 /**
  * sbi_remote_sfence_vma() - Execute SFENCE.VMA instructions on given remote
@@ -399,7 +382,6 @@ int sbi_remote_sfence_vma(const unsigned long *hart_mask,
 	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_SFENCE_VMA,
 			    hart_mask, start, size, 0, 0);
 }
-EXPORT_SYMBOL(sbi_remote_sfence_vma);
 
 /**
  * sbi_remote_sfence_vma_asid() - Execute SFENCE.VMA instructions on given
@@ -420,86 +402,6 @@ int sbi_remote_sfence_vma_asid(const unsigned long *hart_mask,
 	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_SFENCE_VMA_ASID,
 			    hart_mask, start, size, asid, 0);
 }
-EXPORT_SYMBOL(sbi_remote_sfence_vma_asid);
-
-/**
- * sbi_remote_hfence_gvma() - Execute HFENCE.GVMA instructions on given remote
- *			   harts for the specified guest physical address range.
- * @hart_mask: A cpu mask containing all the target harts.
- * @start: Start of the guest physical address
- * @size: Total size of the guest physical address range.
- *
- * Return: None
- */
-int sbi_remote_hfence_gvma(const unsigned long *hart_mask,
-			   unsigned long start,
-			   unsigned long size)
-{
-	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA,
-			    hart_mask, start, size, 0, 0);
-}
-EXPORT_SYMBOL_GPL(sbi_remote_hfence_gvma);
-
-/**
- * sbi_remote_hfence_gvma_vmid() - Execute HFENCE.GVMA instructions on given
- * remote harts for a guest physical address range belonging to a specific VMID.
- *
- * @hart_mask: A cpu mask containing all the target harts.
- * @start: Start of the guest physical address
- * @size: Total size of the guest physical address range.
- * @vmid: The value of guest ID (VMID).
- *
- * Return: 0 if success, Error otherwise.
- */
-int sbi_remote_hfence_gvma_vmid(const unsigned long *hart_mask,
-				unsigned long start,
-				unsigned long size,
-				unsigned long vmid)
-{
-	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_HFENCE_GVMA_VMID,
-			    hart_mask, start, size, vmid, 0);
-}
-EXPORT_SYMBOL(sbi_remote_hfence_gvma_vmid);
-
-/**
- * sbi_remote_hfence_vvma() - Execute HFENCE.VVMA instructions on given remote
- *			     harts for the current guest virtual address range.
- * @hart_mask: A cpu mask containing all the target harts.
- * @start: Start of the current guest virtual address
- * @size: Total size of the current guest virtual address range.
- *
- * Return: None
- */
-int sbi_remote_hfence_vvma(const unsigned long *hart_mask,
-			   unsigned long start,
-			   unsigned long size)
-{
-	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA,
-			    hart_mask, start, size, 0, 0);
-}
-EXPORT_SYMBOL(sbi_remote_hfence_vvma);
-
-/**
- * sbi_remote_hfence_vvma_asid() - Execute HFENCE.VVMA instructions on given
- * remote harts for current guest virtual address range belonging to a specific
- * ASID.
- *
- * @hart_mask: A cpu mask containing all the target harts.
- * @start: Start of the current guest virtual address
- * @size: Total size of the current guest virtual address range.
- * @asid: The value of address space identifier (ASID).
- *
- * Return: None
- */
-int sbi_remote_hfence_vvma_asid(const unsigned long *hart_mask,
-				unsigned long start,
-				unsigned long size,
-				unsigned long asid)
-{
-	return __sbi_rfence(SBI_EXT_RFENCE_REMOTE_HFENCE_VVMA_ASID,
-			    hart_mask, start, size, asid, 0);
-}
-EXPORT_SYMBOL(sbi_remote_hfence_vvma_asid);
 
 /**
  * sbi_probe_extension() - Check if an SBI extension ID is supported or not.
@@ -519,7 +421,6 @@ int sbi_probe_extension(int extid)
 
 	return -ENOTSUPP;
 }
-EXPORT_SYMBOL(sbi_probe_extension);
 
 static long __sbi_base_ecall(int fid)
 {
-- 
2.30.2




More information about the linux-riscv mailing list