MIPS: Drop unused positional parameter in local_irq_{dis,en}able
authorNathan Chancellor <nathan@kernel.org>
Tue, 4 Apr 2023 21:18:41 +0000 (14:18 -0700)
committerThomas Bogendoerfer <tsbogend@alpha.franken.de>
Wed, 5 Apr 2023 08:20:00 +0000 (10:20 +0200)
When building with clang's integrated assembler, it points out that the
CONFIG_CPU_HAS_DIEI versions of local_irq_enable and local_irq_disable
have a named parameter that is not used in the body of the macro and it
thinks that $8 is a positional parameter, rather than a register:

  arch/mips/include/asm/asmmacro.h:48:2: warning: macro defined with named parameters which are not used in macro body, possible positional parameter found in body which will have no effect
   .macro local_irq_enable reg=$8
   ^

The comment above the function that performs this check in LLVM notes
that the warning may trigger in this case, even though it is not
problematic. It is easy enough to clean this up by just omitting the
named parameter for this version of the macro, as it is entirely unused.

Reported-by: Nick Desaulniers <ndesaulniers@google.com>
Link: https://github.com/ClangBuiltLinux/linux/issues/1415
Link: https://github.com/llvm/llvm-project/commit/81c944cadb7f9e55b3517b7423a820e2577b9279
Signed-off-by: Nathan Chancellor <nathan@kernel.org>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
arch/mips/include/asm/asmmacro.h

index 1c4438f3f2ab43faf10a5a9e973bcc6cd66f4ebc..067a635d3bc8f518279b37cbb262ee9546ecb501 100644 (file)
 #endif
 
 #ifdef CONFIG_CPU_HAS_DIEI
-       .macro  local_irq_enable reg=t0
+       .macro  local_irq_enable
        ei
        irq_enable_hazard
        .endm
 
-       .macro  local_irq_disable reg=t0
+       .macro  local_irq_disable
        di
        irq_disable_hazard
        .endm