order" to save memory that could be wasted for unused memory map.
          Say N if not sure.
 
-config ARCH_DISCONTIGMEM_ENABLE
-       depends on BROKEN
-       def_bool MMU && !SINGLE_MEMORY_CHUNK
-
 config FORCE_MAX_ZONEORDER
        int "Maximum zone order" if ADVANCED
        depends on !SINGLE_MEMORY_CHUNK
        depends on MAC
        default y
 
-config NODES_SHIFT
-       int
-       default "3"
-       depends on DISCONTIGMEM
-
 config CPU_HAS_NO_BITFIELDS
        bool
 
          The ColdFire CPU cache is set into Copy-back mode.
 endchoice
 endif
-
 
+++ /dev/null
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef _ASM_M68K_MMZONE_H_
-#define _ASM_M68K_MMZONE_H_
-
-extern pg_data_t pg_data_map[];
-
-#define NODE_DATA(nid)         (&pg_data_map[nid])
-#define NODE_MEM_MAP(nid)      (NODE_DATA(nid)->node_mem_map)
-
-#endif /* _ASM_M68K_MMZONE_H_ */
 
 #include <asm/page_no.h>
 #endif
 
-#if !defined(CONFIG_MMU) || defined(CONFIG_DISCONTIGMEM)
+#ifndef CONFIG_MMU
 #define __phys_to_pfn(paddr)   ((unsigned long)((paddr) >> PAGE_SHIFT))
 #define __pfn_to_phys(pfn)     PFN_PHYS(pfn)
 #endif
 
 
 extern int m68k_virt_to_node_shift;
 
-#ifndef CONFIG_DISCONTIGMEM
-#define __virt_to_node(addr)   (&pg_data_map[0])
-#else
-extern struct pglist_data *pg_data_table[];
-
-static inline __attribute_const__ int __virt_to_node_shift(void)
-{
-       int shift;
-
-       asm (
-               "1:     moveq   #0,%0\n"
-               m68k_fixup(%c1, 1b)
-               : "=d" (shift)
-               : "i" (m68k_fixup_vnode_shift));
-       return shift;
-}
-
-#define __virt_to_node(addr)   (pg_data_table[(unsigned long)(addr) >> __virt_to_node_shift()])
-#endif
-
 #define virt_to_page(addr) ({                                          \
        pfn_to_page(virt_to_pfn(addr));                                 \
 })
        pfn_to_virt(page_to_pfn(page));                                 \
 })
 
-#ifdef CONFIG_DISCONTIGMEM
-#define pfn_to_page(pfn) ({                                            \
-       unsigned long __pfn = (pfn);                                    \
-       struct pglist_data *pgdat;                                      \
-       pgdat = __virt_to_node((unsigned long)pfn_to_virt(__pfn));      \
-       pgdat->node_mem_map + (__pfn - pgdat->node_start_pfn);          \
-})
-#define page_to_pfn(_page) ({                                          \
-       const struct page *__p = (_page);                               \
-       struct pglist_data *pgdat;                                      \
-       pgdat = &pg_data_map[page_to_nid(__p)];                         \
-       ((__p) - pgdat->node_mem_map) + pgdat->node_start_pfn;          \
-})
-#else
 #define ARCH_PFN_OFFSET (m68k_memory[0].addr >> PAGE_SHIFT)
 #include <asm-generic/memory_model.h>
-#endif
 
 #define virt_addr_valid(kaddr) ((unsigned long)(kaddr) >= PAGE_OFFSET && (unsigned long)(kaddr) < (unsigned long)high_memory)
 #define pfn_valid(pfn)         virt_addr_valid(pfn_to_virt(pfn))
 
 
 int m68k_virt_to_node_shift;
 
-#ifdef CONFIG_DISCONTIGMEM
-pg_data_t pg_data_map[MAX_NUMNODES];
-EXPORT_SYMBOL(pg_data_map);
-
-pg_data_t *pg_data_table[65];
-EXPORT_SYMBOL(pg_data_table);
-#endif
-
 void __init m68k_setup_node(int node)
 {
-#ifdef CONFIG_DISCONTIGMEM
-       struct m68k_mem_info *info = m68k_memory + node;
-       int i, end;
-
-       i = (unsigned long)phys_to_virt(info->addr) >> __virt_to_node_shift();
-       end = (unsigned long)phys_to_virt(info->addr + info->size - 1) >> __virt_to_node_shift();
-       for (; i <= end; i++) {
-               if (pg_data_table[i])
-                       pr_warn("overlap at %u for chunk %u\n", i, node);
-               pg_data_table[i] = pg_data_map + node;
-       }
-#endif
        node_set_online(node);
 }