Browse Source

[POWERPC] rheap: Changes config mechanism

Instead of having in the makefile all the option that
requires rheap, we define a configuration symbol
and when needed we make sure it's selected.

Signed-off-by: Sylvain Munaut <tnt@246tNt.com>
Signed-off-by: Grant Likely <grant.likely@secretlab.ca>
Sylvain Munaut 17 years ago
parent
commit
1088a20998

+ 4 - 0
arch/powerpc/Kconfig

@@ -698,3 +698,7 @@ source "crypto/Kconfig"
 config PPC_CLOCK
 config PPC_CLOCK
 	bool
 	bool
 	default n
 	default n
+
+config PPC_LIB_RHEAP
+	bool
+

+ 1 - 4
arch/powerpc/lib/Makefile

@@ -14,7 +14,6 @@ endif
 
 
 obj-$(CONFIG_PPC64)	+= copypage_64.o copyuser_64.o \
 obj-$(CONFIG_PPC64)	+= copypage_64.o copyuser_64.o \
 			   memcpy_64.o usercopy_64.o mem_64.o string.o
 			   memcpy_64.o usercopy_64.o mem_64.o string.o
-obj-$(CONFIG_QUICC_ENGINE) += rheap.o
 obj-$(CONFIG_XMON)	+= sstep.o
 obj-$(CONFIG_XMON)	+= sstep.o
 obj-$(CONFIG_KPROBES)	+= sstep.o
 obj-$(CONFIG_KPROBES)	+= sstep.o
 obj-$(CONFIG_NOT_COHERENT_CACHE)	+= dma-noncoherent.o
 obj-$(CONFIG_NOT_COHERENT_CACHE)	+= dma-noncoherent.o
@@ -23,6 +22,4 @@ ifeq ($(CONFIG_PPC64),y)
 obj-$(CONFIG_SMP)	+= locks.o
 obj-$(CONFIG_SMP)	+= locks.o
 endif
 endif
 
 
-# Temporary hack until we have migrated to asm-powerpc
-obj-$(CONFIG_8xx)	+= rheap.o
-obj-$(CONFIG_CPM2)	+= rheap.o
+obj-$(CONFIG_PPC_LIB_RHEAP) += rheap.o

+ 2 - 0
arch/powerpc/platforms/Kconfig

@@ -264,6 +264,7 @@ config TAU_AVERAGE
 
 
 config QUICC_ENGINE
 config QUICC_ENGINE
 	bool
 	bool
+	select PPC_LIB_RHEAP
 	help
 	help
 	  The QUICC Engine (QE) is a new generation of communications
 	  The QUICC Engine (QE) is a new generation of communications
 	  coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
 	  coprocessors on Freescale embedded CPUs (akin to CPM in older chips).
@@ -274,6 +275,7 @@ config CPM2
 	bool
 	bool
 	default n
 	default n
 	select CPM
 	select CPM
+	select PPC_LIB_RHEAP
 	help
 	help
 	  The CPM2 (Communications Processor Module) is a coprocessor on
 	  The CPM2 (Communications Processor Module) is a coprocessor on
 	  embedded CPUs made by Freescale.  Selecting this option means that
 	  embedded CPUs made by Freescale.  Selecting this option means that

+ 1 - 0
arch/powerpc/platforms/Kconfig.cputype

@@ -37,6 +37,7 @@ config PPC_8xx
 	select FSL_SOC
 	select FSL_SOC
 	select 8xx
 	select 8xx
 	select WANT_DEVICE_TREE
 	select WANT_DEVICE_TREE
+	select PPC_LIB_RHEAP
 
 
 config 40x
 config 40x
 	bool "AMCC 40x"
 	bool "AMCC 40x"

+ 6 - 0
arch/ppc/Kconfig

@@ -102,6 +102,7 @@ config 44x
 
 
 config 8xx
 config 8xx
 	bool "8xx"
 	bool "8xx"
+	select PPC_LIB_RHEAP
 
 
 config E200
 config E200
 	bool "e200"
 	bool "e200"
@@ -798,6 +799,7 @@ config CPM1
 config CPM2
 config CPM2
 	bool
 	bool
 	depends on 8260 || MPC8560 || MPC8555
 	depends on 8260 || MPC8560 || MPC8555
+	select PPC_LIB_RHEAP
 	default y
 	default y
 	help
 	help
 	  The CPM2 (Communications Processor Module) is a coprocessor on
 	  The CPM2 (Communications Processor Module) is a coprocessor on
@@ -1277,6 +1279,10 @@ config BOOT_LOAD
 config PIN_TLB
 config PIN_TLB
 	bool "Pinned Kernel TLBs (860 ONLY)"
 	bool "Pinned Kernel TLBs (860 ONLY)"
 	depends on ADVANCED_OPTIONS && 8xx
 	depends on ADVANCED_OPTIONS && 8xx
+
+config PPC_LIB_RHEAP
+	bool
+
 endmenu
 endmenu
 
 
 source "net/Kconfig"
 source "net/Kconfig"