On Tue, Aug 8, 2023, at 15:12, Linus Walleij wrote: > On Tue, Aug 8, 2023 at 11:29 AM Linus Walleij <linus.walleij@xxxxxxxxxx> wrote: > >> The function virt_to_phys was defined to virt_to_phys and then >> implemented right below. >> >> I can't understand why, just drop it and let the actual function >> slot in. >> >> Fixes: dfad83cb7193 ("MIPS: Add support for CONFIG_DEBUG_VIRTUAL") >> Signed-off-by: Linus Walleij <linus.walleij@xxxxxxxxxx> >> --- >> arch/mips/include/asm/io.h | 1 - >> 1 file changed, 1 deletion(-) >> >> diff --git a/arch/mips/include/asm/io.h b/arch/mips/include/asm/io.h >> index affd21e9c20b..18ed44843541 100644 >> --- a/arch/mips/include/asm/io.h >> +++ b/arch/mips/include/asm/io.h >> @@ -111,7 +111,6 @@ extern phys_addr_t __virt_to_phys(volatile const void *x); >> #define __virt_to_phys(x) __virt_to_phys_nodebug(x) >> #endif >> >> -#define virt_to_phys virt_to_phys >> static inline phys_addr_t virt_to_phys(const volatile void *x) >> { >> return __virt_to_phys(x); > > Just have to CC Arnd on this because I never feel I understand this > properly. > > Normally you would do this so as to override the default virt_to_phys() > from include/asm-generic/io.h, but we do not seem to be using it here? Correct. In linux-next, we have converted arch/sh to use include/asm-generic/io.h, so arch/mips is now the last one to not use it. I see that Jiaxun Yang posted a patch for this in May and it looked like it should finally work [1], but there seems to still be something missing. > Further right below we are implementing phys_to_virt() with no > corresponding define, so in any case this needs to go or that one > needs a define. > > That said they seem like a good candidate to replace with the > generic variant because the content is the same sans some debug > hacks that I doubt are still needed. I think the ARCH_HAS_DEBUG_VIRTUAL option is useful in general, I'd rather move that into the common code if we were to unify it. For the moment, I'd suggest we leave the #define in place here in order to finish the patch that starts using the asm-generic header, and then we can look into using more of the generic code. Arnd [1] https://lore.kernel.org/linux-mips/20230519195135.79600-1-jiaxun.yang@xxxxxxxxxxx/