diff options
author | Paul Burton <paul.burton@mips.com> | 2018-11-21 19:47:57 -0800 |
---|---|---|
committer | Paul Burton <paul.burton@mips.com> | 2018-11-21 19:54:59 -0800 |
commit | 66a4059ba72c23ae74a7c702894ff76c4b7eac1f (patch) | |
tree | 73ba766ada25117b2e18e7715aa88e2008a88966 /arch/mips | |
parent | c0436b503591f927f326457a588c461881260276 (diff) | |
download | blackbird-obmc-linux-66a4059ba72c23ae74a7c702894ff76c4b7eac1f.tar.gz blackbird-obmc-linux-66a4059ba72c23ae74a7c702894ff76c4b7eac1f.zip |
MIPS: Only include mmzone.h when CONFIG_NEED_MULTIPLE_NODES=y
MIPS' asm/mmzone.h includes the machine/platform mmzone.h
unconditionally, but since commit bb53fdf395ee ("MIPS: c-r4k: Add
r4k_blast_scache_node for Loongson-3") is included by asm/rk4cache.h for
all r4k-style configs regardless of CONFIG_NEED_MULTIPLE_NODES.
This is problematic when CONFIG_NEED_MULTIPLE_NODES=n because both the
loongson3 & ip27 mmzone.h headers unconditionally define the NODE_DATA
preprocessor macro which is aready defined by linux/mmzone.h, resulting
in the following build error:
In file included from ./arch/mips/include/asm/mmzone.h:10,
from ./arch/mips/include/asm/r4kcache.h:23,
from arch/mips/mm/c-r4k.c:33:
./arch/mips/include/asm/mach-loongson64/mmzone.h:48: error: "NODE_DATA" redefined [-Werror]
#define NODE_DATA(n) (&__node_data[(n)]->pglist)
In file included from ./include/linux/topology.h:32,
from ./include/linux/irq.h:19,
from ./include/asm-generic/hardirq.h:13,
from ./arch/mips/include/asm/hardirq.h:16,
from ./include/linux/hardirq.h:9,
from arch/mips/mm/c-r4k.c:11:
./include/linux/mmzone.h:907: note: this is the location of the previous definition
#define NODE_DATA(nid) (&contig_page_data)
Resolve this by only including the machine mmzone.h when
CONFIG_NEED_MULTIPLE_NODES=y, which also removes the need for the empty
mach-generic version of the header which we delete.
Signed-off-by: Paul Burton <paul.burton@mips.com>
Fixes: bb53fdf395ee ("MIPS: c-r4k: Add r4k_blast_scache_node for Loongson-3")
Diffstat (limited to 'arch/mips')
-rw-r--r-- | arch/mips/include/asm/mach-generic/mmzone.h | 2 | ||||
-rw-r--r-- | arch/mips/include/asm/mmzone.h | 5 |
2 files changed, 4 insertions, 3 deletions
diff --git a/arch/mips/include/asm/mach-generic/mmzone.h b/arch/mips/include/asm/mach-generic/mmzone.h deleted file mode 100644 index 826392f2ee32..000000000000 --- a/arch/mips/include/asm/mach-generic/mmzone.h +++ /dev/null @@ -1,2 +0,0 @@ -// SPDX-License-Identifier: GPL-2.0 -/* Intentionally empty */ diff --git a/arch/mips/include/asm/mmzone.h b/arch/mips/include/asm/mmzone.h index 2a0fe1d0eac6..b826b8473e95 100644 --- a/arch/mips/include/asm/mmzone.h +++ b/arch/mips/include/asm/mmzone.h @@ -7,7 +7,10 @@ #define _ASM_MMZONE_H_ #include <asm/page.h> -#include <mmzone.h> + +#ifdef CONFIG_NEED_MULTIPLE_NODES +# include <mmzone.h> +#endif #ifndef pa_to_nid #define pa_to_nid(addr) 0 |