Преглед на файлове

[POWERPC] spufs: split the Cell BE support into generic and platform dependant parts

Creates new config variables PPC_CELL_NATIVE and PPC_IBM_CELL_BLADE.
The existing CONFIG_PPC_CELL is now used to denote the generic
Cell processor support.

PPC_CELL = make descends into platforms/cell
PPC_CELL_NATIVE = add bare metal support
PPC_IBM_CELL_BLADE = add blade device drivers, etc.

Also renames spu_priv1.c to spu_priv1_mmio.c.

Signed-off-by: Geoff Levand <geoffrey.levand@am.sony.com>
Signed-off-by: Arnd Bergmann <arnd.bergmann@de.ibm.com>
Signed-off-by: Paul Mackerras <paulus@samba.org>
Geoff Levand преди 19 години
родител
ревизия
c01ea72a3b

+ 11 - 6
arch/powerpc/Kconfig

@@ -404,8 +404,18 @@ config PPC_MAPLE
 	  For more informations, refer to <http://www.970eval.com>
 	  For more informations, refer to <http://www.970eval.com>
 
 
 config PPC_CELL
 config PPC_CELL
-	bool "Cell Broadband Processor Architecture"
+	bool
+	default n
+
+config PPC_CELL_NATIVE
+	bool
+	select PPC_CELL
+	default n
+
+config PPC_IBM_CELL_BLADE
+	bool "  IBM Cell Blade"
 	depends on PPC_MULTIPLATFORM && PPC64
 	depends on PPC_MULTIPLATFORM && PPC64
+	select PPC_CELL_NATIVE
 	select PPC_RTAS
 	select PPC_RTAS
 	select MMIO_NVRAM
 	select MMIO_NVRAM
 	select PPC_UDBG_16550
 	select PPC_UDBG_16550
@@ -452,11 +462,6 @@ config MPIC_BROKEN_U3
 	depends on PPC_MAPLE
 	depends on PPC_MAPLE
 	default y
 	default y
 
 
-config CELL_IIC
-	depends on PPC_CELL
-	bool
-	default y
-
 config IBMVIO
 config IBMVIO
 	depends on PPC_PSERIES || PPC_ISERIES
 	depends on PPC_PSERIES || PPC_ISERIES
 	bool
 	bool

+ 3 - 1
arch/powerpc/configs/cell_defconfig

@@ -117,6 +117,8 @@ CONFIG_PPC_MULTIPLATFORM=y
 # CONFIG_PPC_PMAC is not set
 # CONFIG_PPC_PMAC is not set
 # CONFIG_PPC_MAPLE is not set
 # CONFIG_PPC_MAPLE is not set
 CONFIG_PPC_CELL=y
 CONFIG_PPC_CELL=y
+CONFIG_PPC_CELL_NATIVE=y
+CONFIG_PPC_IBM_CELL_BLADE=y
 CONFIG_PPC_SYSTEMSIM=y
 CONFIG_PPC_SYSTEMSIM=y
 # CONFIG_U3_DART is not set
 # CONFIG_U3_DART is not set
 CONFIG_PPC_RTAS=y
 CONFIG_PPC_RTAS=y
@@ -124,7 +126,6 @@ CONFIG_PPC_RTAS=y
 CONFIG_RTAS_PROC=y
 CONFIG_RTAS_PROC=y
 CONFIG_RTAS_FLASH=y
 CONFIG_RTAS_FLASH=y
 CONFIG_MMIO_NVRAM=y
 CONFIG_MMIO_NVRAM=y
-CONFIG_CELL_IIC=y
 # CONFIG_PPC_MPC106 is not set
 # CONFIG_PPC_MPC106 is not set
 # CONFIG_PPC_970_NAP is not set
 # CONFIG_PPC_970_NAP is not set
 # CONFIG_CPU_FREQ is not set
 # CONFIG_CPU_FREQ is not set
@@ -134,6 +135,7 @@ CONFIG_CELL_IIC=y
 # Cell Broadband Engine options
 # Cell Broadband Engine options
 #
 #
 CONFIG_SPU_FS=m
 CONFIG_SPU_FS=m
+CONFIG_SPU_BASE=y
 CONFIG_SPUFS_MMAP=y
 CONFIG_SPUFS_MMAP=y
 CONFIG_CBE_RAS=y
 CONFIG_CBE_RAS=y
 
 

+ 5 - 0
arch/powerpc/platforms/cell/Kconfig

@@ -5,11 +5,16 @@ config SPU_FS
 	tristate "SPU file system"
 	tristate "SPU file system"
 	default m
 	default m
 	depends on PPC_CELL
 	depends on PPC_CELL
+	select SPU_BASE
 	help
 	help
 	  The SPU file system is used to access Synergistic Processing
 	  The SPU file system is used to access Synergistic Processing
 	  Units on machines implementing the Broadband Processor
 	  Units on machines implementing the Broadband Processor
 	  Architecture.
 	  Architecture.
 
 
+config SPU_BASE
+	bool
+	default n
+
 config SPUFS_MMAP
 config SPUFS_MMAP
 	bool
 	bool
 	depends on SPU_FS && SPARSEMEM
 	depends on SPU_FS && SPARSEMEM

+ 11 - 9
arch/powerpc/platforms/cell/Makefile

@@ -1,13 +1,15 @@
-obj-y			+= interrupt.o iommu.o setup.o spider-pic.o
-obj-y			+= cbe_regs.o pervasive.o
-obj-$(CONFIG_CBE_RAS)	+= ras.o
+obj-$(CONFIG_PPC_CELL_NATIVE)		+= interrupt.o iommu.o setup.o \
+					   cbe_regs.o spider-pic.o pervasive.o
+obj-$(CONFIG_CBE_RAS)			+= ras.o
 
 
-obj-$(CONFIG_SMP)	+= smp.o
+ifeq ($(CONFIG_SMP),y)
+obj-$(CONFIG_PPC_CELL_NATIVE)		+= smp.o
+endif
 
 
 # needed only when building loadable spufs.ko
 # needed only when building loadable spufs.ko
-spufs-modular-$(CONFIG_SPU_FS) += spu_syscalls.o
-obj-y			+= $(spufs-modular-m)
+spufs-modular-$(CONFIG_SPU_FS)		+= spu_syscalls.o
+spu-priv1-$(CONFIG_PPC_CELL_NATIVE)	+= spu_priv1_mmio.o
 
 
-# always needed in kernel
-spufs-builtin-$(CONFIG_SPU_FS) += spu_callbacks.o spu_base.o spu_priv1.o spufs/
-obj-y			+= $(spufs-builtin-y) $(spufs-builtin-m)
+obj-$(CONFIG_SPU_BASE)			+= spu_callbacks.o spu_base.o \
+					   $(spufs-modular-m) \
+					   $(spu-priv1-y) spufs/

+ 0 - 0
arch/powerpc/platforms/cell/spu_priv1.c → arch/powerpc/platforms/cell/spu_priv1_mmio.c


+ 1 - 1
drivers/net/Kconfig

@@ -2171,7 +2171,7 @@ config BNX2
 
 
 config SPIDER_NET
 config SPIDER_NET
 	tristate "Spider Gigabit Ethernet driver"
 	tristate "Spider Gigabit Ethernet driver"
-	depends on PCI && PPC_CELL
+	depends on PCI && PPC_IBM_CELL_BLADE
 	select FW_LOADER
 	select FW_LOADER
 	help
 	help
 	  This driver supports the Gigabit Ethernet chips present on the
 	  This driver supports the Gigabit Ethernet chips present on the