Subject: Re: linux-next: build warning after merge of the akpm-current tree

From: Stephen Rothwell <[email-masked]>
Date: Sat, 14 Mar 2020 11:09:54 +1100

Hi Baoquan,

On Fri, 13 Mar 2020 20:56:27 +0800 Baoquan He <[email-masked]> wrote:
>
> I made below change, but I can't triger these warnings. Could you try
> below patch, see if it's works?

I needed to add "ARCH=x86_64" to the "make allnoconfig" command line
(and the subsequent "make") otherwise I get a 32 bit build.

> From 9be668f1e30b6bb4ed5f4a07e7d3bb76d3f58f35 Mon Sep 17 00:00:00 2001
> From: Baoquan He <[email-masked]>
> Date: Fri, 13 Mar 2020 20:25:54 +0800
> Subject: [PATCH] mm/sparse.c: fix the building warning with !SPARSEMEM
> 
> Stephen reported below warnings are seen with allnoconfig on x86_64.
> Fix it by making those dummy functions sub-section map handling visible
> with CONFIG_SPARSEMEM enabled.
> 
> mm/sparse.c:311:12: warning: 'fill_subsection_map' defined but not used [-Wunused-function]
>   311 | static int fill_subsection_map(unsigned long pfn, unsigned long nr_pages)
>       |            ^~~~~~~~~~~~~~~~~~~
> mm/sparse.c:306:13: warning: 'is_subsection_map_empty' defined but not used [-Wunused-function]
>   306 | static bool is_subsection_map_empty(struct mem_section *ms)
>       |             ^~~~~~~~~~~~~~~~~~~~~~~
> mm/sparse.c:301:12: warning: 'clear_subsection_map' defined but not used [-Wunused-function]
>   301 | static int clear_subsection_map(unsigned long pfn, unsigned long nr_pages)
>       |            ^~~~~~~~~~~~~~~~~~~~
> 
> Signed-off-by: Baoquan He <[email-masked]>
> ---
>  mm/sparse.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
> 
> diff --git a/mm/sparse.c b/mm/sparse.c
> index 362018e82e22..9e08d118719f 100644
> --- a/mm/sparse.c
> +++ b/mm/sparse.c
> @@ -293,7 +293,7 @@ static int fill_subsection_map(unsigned long pfn, unsigned long nr_pages)
>  
>  	return rc;
>  }
> -#else
> +#elif defined(CONFIG_SPARSEMEM)
>  void __init subsection_map_init(unsigned long pfn, unsigned long nr_pages)
>  {
>  }

This didn't make any difference as CONFIG_SPARSEMEM is set for the
x86_64 allnoconfig build.

-- 
Cheers,
Stephen Rothwell