On Thu, Aug 01, 2024 at 12:07:39AM +0000, Wei Yang wrote: > On Mon, Jul 29, 2024 at 08:37:23AM +0300, Mike Rapoport wrote: > >On Mon, Jul 29, 2024 at 01:47:21AM +0000, Wei Yang wrote: > >> Commit 94ff46de4a73 ("memblock: Move late alloc warning down to phys > >> alloc") introduce the usage of virt_to_phys(), which is not defined in > >> memblock tests. > >> > >> Define it in mm.h to fix the build error. > >> > >> Signed-off-by: Wei Yang <richard.weiyang@xxxxxxxxx> > >> > >> --- > >> v2: move definition to mm.h > >> --- > >> tools/include/linux/mm.h | 2 ++ > >> 1 file changed, 2 insertions(+) > >> > >> diff --git a/tools/include/linux/mm.h b/tools/include/linux/mm.h > >> index cad4f2927983..9db45c5d00fc 100644 > >> --- a/tools/include/linux/mm.h > >> +++ b/tools/include/linux/mm.h > >> @@ -20,6 +20,8 @@ > >> #define pfn_to_page(pfn) ((void *)((pfn) * PAGE_SIZE)) > >> > >> #define phys_to_virt phys_to_virt > >> +#define virt_to_phys(p) ((unsigned long)p) > >> + > > > >Please don't break #define of phys_to_virt from the static inline > >implementation. > > > > I don't touch the definition of phys_to_virt, so you are willing me to adjust > it? > > The macro here will be expanded to code at preprocessing stage. I don't get > how static inline would help here. Do I miss something? static inline allows type checking of the parameters and #define with the same name as of the static inline allows catching other defines with the same name. So it's common practice to use this combination, line phys_to_virt does. > >And please make virt_to_phys a static inline similarly to phys_to_virt. > > > >> static inline void *phys_to_virt(unsigned long address) > >> { > >> return __va(address); > >> -- > >> 2.34.1 > >> > > > >-- > >Sincerely yours, > >Mike. > > -- > Wei Yang > Help you, Help me -- Sincerely yours, Mike.