[POWERPC] spufs: split the Cell BE support into generic and platform dependant parts
authorGeoff Levand <geoffrey.levand@am.sony.com>
Mon, 19 Jun 2006 18:33:28 +0000 (20:33 +0200)
committerPaul Mackerras <paulus@samba.org>
Wed, 21 Jun 2006 05:01:31 +0000 (15:01 +1000)
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>
arch/powerpc/Kconfig
arch/powerpc/configs/cell_defconfig
arch/powerpc/platforms/cell/Kconfig
arch/powerpc/platforms/cell/Makefile
arch/powerpc/platforms/cell/spu_priv1_mmio.c [moved from arch/powerpc/platforms/cell/spu_priv1.c with 100% similarity]
drivers/net/Kconfig

index 65f4cd1..7b829c7 100644 (file)
@@ -404,8 +404,18 @@ config PPC_MAPLE
          For more informations, refer to <http://www.970eval.com>
 
 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
+       select PPC_CELL_NATIVE
        select PPC_RTAS
        select MMIO_NVRAM
        select PPC_UDBG_16550
@@ -452,11 +462,6 @@ config MPIC_BROKEN_U3
        depends on PPC_MAPLE
        default y
 
-config CELL_IIC
-       depends on PPC_CELL
-       bool
-       default y
-
 config IBMVIO
        depends on PPC_PSERIES || PPC_ISERIES
        bool
index 5569bef..b8b8d46 100644 (file)
@@ -117,6 +117,8 @@ CONFIG_PPC_MULTIPLATFORM=y
 # CONFIG_PPC_PMAC is not set
 # CONFIG_PPC_MAPLE is not set
 CONFIG_PPC_CELL=y
+CONFIG_PPC_CELL_NATIVE=y
+CONFIG_PPC_IBM_CELL_BLADE=y
 CONFIG_PPC_SYSTEMSIM=y
 # CONFIG_U3_DART is not set
 CONFIG_PPC_RTAS=y
@@ -124,7 +126,6 @@ CONFIG_PPC_RTAS=y
 CONFIG_RTAS_PROC=y
 CONFIG_RTAS_FLASH=y
 CONFIG_MMIO_NVRAM=y
-CONFIG_CELL_IIC=y
 # CONFIG_PPC_MPC106 is not set
 # CONFIG_PPC_970_NAP is not set
 # CONFIG_CPU_FREQ is not set
@@ -134,6 +135,7 @@ CONFIG_CELL_IIC=y
 # Cell Broadband Engine options
 #
 CONFIG_SPU_FS=m
+CONFIG_SPU_BASE=y
 CONFIG_SPUFS_MMAP=y
 CONFIG_CBE_RAS=y
 
index 00b83db..352bbba 100644 (file)
@@ -5,11 +5,16 @@ config SPU_FS
        tristate "SPU file system"
        default m
        depends on PPC_CELL
+       select SPU_BASE
        help
          The SPU file system is used to access Synergistic Processing
          Units on machines implementing the Broadband Processor
          Architecture.
 
+config SPU_BASE
+       bool
+       default n
+
 config SPUFS_MMAP
        bool
        depends on SPU_FS && SPARSEMEM
index bfaf400..c89cdd6 100644 (file)
@@ -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
-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/
index c1c2758..c71209b 100644 (file)
@@ -2171,7 +2171,7 @@ config BNX2
 
 config SPIDER_NET
        tristate "Spider Gigabit Ethernet driver"
-       depends on PCI && PPC_CELL
+       depends on PCI && PPC_IBM_CELL_BLADE
        select FW_LOADER
        help
          This driver supports the Gigabit Ethernet chips present on the