arc: remove support for DISCONTIGMEM
authorMike Rapoport <rppt@linux.ibm.com>
Tue, 29 Jun 2021 02:42:46 +0000 (19:42 -0700)
committerLinus Torvalds <torvalds@linux-foundation.org>
Tue, 29 Jun 2021 17:53:55 +0000 (10:53 -0700)
DISCONTIGMEM was replaced by FLATMEM with freeing of the unused memory map
in v5.11.

Remove the support for DISCONTIGMEM entirely.

Link: https://lkml.kernel.org/r/20210608091316.3622-4-rppt@kernel.org
Signed-off-by: Mike Rapoport <rppt@linux.ibm.com>
Acked-by: Vineet Gupta <vgupta@synopsys.com>
Acked-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: David Hildenbrand <david@redhat.com>
Cc: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
Cc: Jonathan Corbet <corbet@lwn.net>
Cc: Matt Turner <mattst88@gmail.com>
Cc: Richard Henderson <rth@twiddle.net>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
arch/arc/Kconfig
arch/arc/include/asm/mmzone.h [deleted file]
arch/arc/mm/init.c

index 2d98501..d8f51eb 100644 (file)
@@ -62,10 +62,6 @@ config SCHED_OMIT_FRAME_POINTER
 config GENERIC_CSUM
        def_bool y
 
-config ARCH_DISCONTIGMEM_ENABLE
-       def_bool n
-       depends on BROKEN
-
 config ARCH_FLATMEM_ENABLE
        def_bool y
 
@@ -344,15 +340,6 @@ config ARC_HUGEPAGE_16M
 
 endchoice
 
-config NODES_SHIFT
-       int "Maximum NUMA Nodes (as a power of 2)"
-       default "0" if !DISCONTIGMEM
-       default "1" if DISCONTIGMEM
-       depends on NEED_MULTIPLE_NODES
-       help
-         Accessing memory beyond 1GB (with or w/o PAE) requires 2 memory
-         zones.
-
 config ARC_COMPACT_IRQ_LEVELS
        depends on ISA_ARCOMPACT
        bool "Setup Timer IRQ as high Priority"
diff --git a/arch/arc/include/asm/mmzone.h b/arch/arc/include/asm/mmzone.h
deleted file mode 100644 (file)
index b86b9d1..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0-only */
-/*
- * Copyright (C) 2016 Synopsys, Inc. (www.synopsys.com)
- */
-
-#ifndef _ASM_ARC_MMZONE_H
-#define _ASM_ARC_MMZONE_H
-
-#ifdef CONFIG_DISCONTIGMEM
-
-extern struct pglist_data node_data[];
-#define NODE_DATA(nid) (&node_data[nid])
-
-static inline int pfn_to_nid(unsigned long pfn)
-{
-       int is_end_low = 1;
-
-       if (IS_ENABLED(CONFIG_ARC_HAS_PAE40))
-               is_end_low = pfn <= virt_to_pfn(0xFFFFFFFFUL);
-
-       /*
-        * node 0: lowmem:             0x8000_0000   to 0xFFFF_FFFF
-        * node 1: HIGHMEM w/o  PAE40: 0x0           to 0x7FFF_FFFF
-        *         HIGHMEM with PAE40: 0x1_0000_0000 to ...
-        */
-       if (pfn >= ARCH_PFN_OFFSET && is_end_low)
-               return 0;
-
-       return 1;
-}
-
-static inline int pfn_valid(unsigned long pfn)
-{
-       int nid = pfn_to_nid(pfn);
-
-       return (pfn <= node_end_pfn(nid));
-}
-#endif /* CONFIG_DISCONTIGMEM  */
-
-#endif
index 397a201..abfeef7 100644 (file)
@@ -32,11 +32,6 @@ unsigned long arch_pfn_offset;
 EXPORT_SYMBOL(arch_pfn_offset);
 #endif
 
-#ifdef CONFIG_DISCONTIGMEM
-struct pglist_data node_data[MAX_NUMNODES] __read_mostly;
-EXPORT_SYMBOL(node_data);
-#endif
-
 long __init arc_get_mem_sz(void)
 {
        return low_mem_sz;
@@ -147,9 +142,6 @@ void __init setup_arch_memory(void)
         * to the hole is freed and ARC specific version of pfn_valid()
         * handles the hole in the memory map.
         */
-#ifdef CONFIG_DISCONTIGMEM
-       node_set_online(1);
-#endif
 
        min_high_pfn = PFN_DOWN(high_mem_start);
        max_high_pfn = PFN_DOWN(high_mem_start + high_mem_sz);