Some architectures might seek to utilize a significant portion of the
generic kernel code while maintaining independence from the generic
kernel due to specific peculiarities.
This patch allows for the reuse of core code, preventing unnecessary
duplication.
Suggested-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
Reviewed-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Gregory CLEMENT <gregory.clement@bootlin.com>
Signed-off-by: Thomas Bogendoerfer <tsbogend@alpha.franken.de>
 # mips object files
 # The object files are linked as core-y files would be linked
 
+obj-y += generic/
 obj-y += kernel/
 obj-y += mm/
 obj-y += net/
 
 config MIPS_GENERIC
        bool
 
+config MACH_GENERIC_CORE
+       bool
+
 config MACH_INGENIC
        bool
        select SYS_SUPPORTS_32BIT_KERNEL
        select DMA_NONCOHERENT
        select HAVE_PCI
        select IRQ_MIPS_CPU
+       select MACH_GENERIC_CORE
        select MIPS_AUTO_PFN_OFFSET
        select MIPS_CPU_SCACHE
        select MIPS_GIC
        bool "Ingenic SoC based machines"
        select MIPS_GENERIC
        select MACH_INGENIC
+       select MACH_GENERIC_CORE
        select SYS_SUPPORTS_ZBOOT_UART16550
        select CPU_SUPPORTS_CPUFREQ
        select MIPS_EXTERNAL_TIMER
 config MACH_REALTEK_RTL
        bool "Realtek RTL838x/RTL839x based machines"
        select MIPS_GENERIC
+       select MACH_GENERIC_CORE
        select DMA_NONCOHERENT
        select IRQ_MIPS_CPU
        select CSRC_R4K
 
 # Author: Paul Burton <paul.burton@mips.com>
 #
 
-obj-y += init.o
-obj-y += irq.o
-obj-y += proc.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += init.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += irq.o
+obj-$(CONFIG_MACH_GENERIC_CORE) += proc.o
 
 obj-$(CONFIG_YAMON_DT_SHIM)            += yamon-dt.o
 obj-$(CONFIG_LEGACY_BOARD_SEAD3)       += board-sead3.o