linux-trace-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH fixes v2 1/2] riscv: Replace function-like macro by static inline function
@ 2025-04-19 11:13 Björn Töpel
  2025-04-19 11:14 ` [PATCH fixes v2 2/2] riscv: uprobes: Add missing fence.i after building the XOL buffer Björn Töpel
  2025-04-24 20:32 ` [PATCH fixes v2 1/2] riscv: Replace function-like macro by static inline function patchwork-bot+linux-riscv
  0 siblings, 2 replies; 3+ messages in thread
From: Björn Töpel @ 2025-04-19 11:13 UTC (permalink / raw)
  To: Paul Walmsley, Palmer Dabbelt, Alexandre Ghiti, linux-riscv,
	Guo Ren, Samuel Holland
  Cc: Björn Töpel, Masami Hiramatsu, Oleg Nesterov,
	Peter Zijlstra, linux-kernel, linux-trace-kernel

From: Björn Töpel <bjorn@rivosinc.com>

The flush_icache_range() function is implemented as a "function-like
macro with unused parameters", which can result in "unused variables"
warnings.

Replace the macro with a static inline function, as advised by
Documentation/process/coding-style.rst.

Fixes: 08f051eda33b ("RISC-V: Flush I$ when making a dirty page executable")
Signed-off-by: Björn Töpel <bjorn@rivosinc.com>
---
 arch/riscv/include/asm/cacheflush.h | 15 ++++++++++-----
 1 file changed, 10 insertions(+), 5 deletions(-)

diff --git a/arch/riscv/include/asm/cacheflush.h b/arch/riscv/include/asm/cacheflush.h
index 8de73f91bfa3..b59ffeb668d6 100644
--- a/arch/riscv/include/asm/cacheflush.h
+++ b/arch/riscv/include/asm/cacheflush.h
@@ -34,11 +34,6 @@ static inline void flush_dcache_page(struct page *page)
 	flush_dcache_folio(page_folio(page));
 }
 
-/*
- * RISC-V doesn't have an instruction to flush parts of the instruction cache,
- * so instead we just flush the whole thing.
- */
-#define flush_icache_range(start, end) flush_icache_all()
 #define flush_icache_user_page(vma, pg, addr, len)	\
 do {							\
 	if (vma->vm_flags & VM_EXEC)			\
@@ -78,6 +73,16 @@ void flush_icache_mm(struct mm_struct *mm, bool local);
 
 #endif /* CONFIG_SMP */
 
+/*
+ * RISC-V doesn't have an instruction to flush parts of the instruction cache,
+ * so instead we just flush the whole thing.
+ */
+#define flush_icache_range flush_icache_range
+static inline void flush_icache_range(unsigned long start, unsigned long end)
+{
+	flush_icache_all();
+}
+
 extern unsigned int riscv_cbom_block_size;
 extern unsigned int riscv_cboz_block_size;
 void riscv_init_cbo_blocksizes(void);

base-commit: 8560697b23dc2f405cb463af2b17256a9888129d
-- 
2.45.2


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2025-04-24 20:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-04-19 11:13 [PATCH fixes v2 1/2] riscv: Replace function-like macro by static inline function Björn Töpel
2025-04-19 11:14 ` [PATCH fixes v2 2/2] riscv: uprobes: Add missing fence.i after building the XOL buffer Björn Töpel
2025-04-24 20:32 ` [PATCH fixes v2 1/2] riscv: Replace function-like macro by static inline function patchwork-bot+linux-riscv

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).