Re: [PATCH -next] m68k: Declare __pfn_to_phys() for nommu case to fix build errors

From: Geert Uytterhoeven
Date: Sun Jan 10 2016 - 04:54:49 EST


Hi GÃnther,

Thanks for reporting!

On Sat, Jan 9, 2016 at 10:38 PM, Guenter Roeck <linux@xxxxxxxxxxxx> wrote:
> __pfn_to_phys() was introduced with commit 8b79eb6f5b53e ("libnvdimm, pfn,

Was it?

> pmem: allocate memmap array in persistent memory") but not declared for
> m68k in nommu configurations. This results in the following build error.

It used to fail on m68k with mmu, too, cfr. (badly-described) commit
7a6101c076fa6ae6 ("m68k: fix build failure").

> mm/page_alloc.c: In function 'memmap_init_zone':
> mm/page_alloc.c:4610:9: error: implicit declaration of function '__pfn_to_phys'
>
> Fixes: 8b79eb6f5b53e ("libnvdimm, pfn, pmem: allocate memmap array in persistent memory")
> Cc: Dan Williams <dan.j.williams@xxxxxxxxx>
> Cc: Andrew Morton <akpm@xxxxxxxxxxxxxxxxxxxx>
> Signed-off-by: Guenter Roeck <linux@xxxxxxxxxxxx>
> ---
> arch/m68k/include/asm/page_no.h | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/arch/m68k/include/asm/page_no.h b/arch/m68k/include/asm/page_no.h
> index fa7f32d9836b..f389f575b93f 100644
> --- a/arch/m68k/include/asm/page_no.h
> +++ b/arch/m68k/include/asm/page_no.h
> @@ -19,6 +19,8 @@ extern unsigned long memory_end;
> #define __pa(vaddr) ((unsigned long)(vaddr))
> #define __va(paddr) ((void *)(paddr))
>
> +#define __pfn_to_phys(pfn) PFN_PHYS(pfn)
> +
> #define virt_to_pfn(kaddr) (__pa(kaddr) >> PAGE_SHIFT)
> #define pfn_to_virt(pfn) __va((pfn) << PAGE_SHIFT)

To avoid adding the same line(s) to page_mm.h and page_no.h, I'm gonna
apply Sudip's patch to page.h instead of page_mm.h.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds