RISC-V: Use a less ugly workaround for unused variable warnings
authorPalmer Dabbelt <palmer@sifive.com>
Tue, 28 Aug 2018 16:37:16 +0000 (09:37 -0700)
committerPalmer Dabbelt <palmer@sifive.com>
Tue, 28 Aug 2018 19:58:36 +0000 (12:58 -0700)
Thanks to Christoph Hellwig for pointing out a cleaner way to do this,
as my approach was quite ugly.

CC: Christoph Hellwig <hch@lst.de>
Signed-off-by: Palmer Dabbelt <palmer@sifive.com>
arch/riscv/kernel/sys_riscv.c

index 568026ccf6e8712fa59dc3d1e216924f6d1c5c4d..fb03a4482ad60ac7ca66f86429897275020c5ffd 100644 (file)
@@ -65,24 +65,11 @@ SYSCALL_DEFINE6(mmap2, unsigned long, addr, unsigned long, len,
 SYSCALL_DEFINE3(riscv_flush_icache, uintptr_t, start, uintptr_t, end,
        uintptr_t, flags)
 {
-#ifdef CONFIG_SMP
-       struct mm_struct *mm = current->mm;
-       bool local = (flags & SYS_RISCV_FLUSH_ICACHE_LOCAL) != 0;
-#endif
-
        /* Check the reserved flags. */
        if (unlikely(flags & ~SYS_RISCV_FLUSH_ICACHE_ALL))
                return -EINVAL;
 
-       /*
-        * Without CONFIG_SMP flush_icache_mm is a just a flush_icache_all(),
-        * which generates unused variable warnings all over this function.
-        */
-#ifdef CONFIG_SMP
-       flush_icache_mm(mm, local);
-#else
-       flush_icache_all();
-#endif
+       flush_icache_mm(current->mm, flags & SYS_RISCV_FLUSH_ICACHE_LOCAL);
 
        return 0;
 }