[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
          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
        depends on PPC_MULTIPLATFORM && PPC64
+       select PPC_CELL_NATIVE
        select PPC_RTAS
        select MMIO_NVRAM
        select PPC_UDBG_16550
        select PPC_RTAS
        select MMIO_NVRAM
        select PPC_UDBG_16550
@@ -452,11 +462,6 @@ config MPIC_BROKEN_U3
        depends on PPC_MAPLE
        default y
 
        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
 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_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
 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_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
 # 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
 # Cell Broadband Engine options
 #
 CONFIG_SPU_FS=m
+CONFIG_SPU_BASE=y
 CONFIG_SPUFS_MMAP=y
 CONFIG_CBE_RAS=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
        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.
 
        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
 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
 
 # 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"
 
 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
        select FW_LOADER
        help
          This driver supports the Gigabit Ethernet chips present on the