mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-01-19 21:04:26 +00:00
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")
30 lines
561 B
C
30 lines
561 B
C
/* SPDX-License-Identifier: GPL-2.0 */
|
|
/*
|
|
* Written by Kanoj Sarcar (kanoj@sgi.com) Aug 99
|
|
* Rewritten for Linux 2.6 by Christoph Hellwig (hch@lst.de) Jan 2004
|
|
*/
|
|
#ifndef _ASM_MMZONE_H_
|
|
#define _ASM_MMZONE_H_
|
|
|
|
#include <asm/page.h>
|
|
|
|
#ifdef CONFIG_NEED_MULTIPLE_NODES
|
|
# include <mmzone.h>
|
|
#endif
|
|
|
|
#ifndef pa_to_nid
|
|
#define pa_to_nid(addr) 0
|
|
#endif
|
|
|
|
#ifndef nid_to_addrbase
|
|
#define nid_to_addrbase(nid) 0
|
|
#endif
|
|
|
|
#ifdef CONFIG_DISCONTIGMEM
|
|
|
|
#define pfn_to_nid(pfn) pa_to_nid((pfn) << PAGE_SHIFT)
|
|
|
|
#endif /* CONFIG_DISCONTIGMEM */
|
|
|
|
#endif /* _ASM_MMZONE_H_ */
|