diff --git a/target/linux/brcm63xx/patches-2.6.39/240-spi.patch b/target/linux/brcm63xx/patches-2.6.39/240-spi.patch
index d882c218321126f71ed89b8d037e9e81dc7e6312..57149c27d1f5cfe470a560c1adb1ab48f4e073c6 100644
--- a/target/linux/brcm63xx/patches-2.6.39/240-spi.patch
+++ b/target/linux/brcm63xx/patches-2.6.39/240-spi.patch
@@ -26,7 +26,7 @@
  	[IRQ_DSL]		= BCM_6358_DSL_IRQ,
 --- /dev/null
 +++ b/arch/mips/bcm63xx/dev-spi.c
-@@ -0,0 +1,128 @@
+@@ -0,0 +1,131 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -144,6 +144,9 @@
 +	spi_resources[0].end += RSET_SPI_SIZE - 1;
 +	spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI);
 +
++	if (BCMCPU_IS_6345())
++		return -ENODEV;
++
 +	/* Fill in platform data */
 +	if (BCMCPU_IS_6338() || BCMCPU_IS_6348())
 +		spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE;
@@ -990,12 +993,11 @@
  #include <board_bcm963xx.h>
  
  #define PFX	"board_bcm963xx: "
-@@ -931,6 +932,9 @@ int __init board_register_devices(void)
+@@ -931,6 +932,8 @@ int __init board_register_devices(void)
  	if (board.num_spis)
  		spi_register_board_info(board.spis, board.num_spis);
  
-+	if (!BCMCPU_IS_6345())
-+		bcm63xx_spi_register();
++	bcm63xx_spi_register();
 +
  	/* read base address of boot chip select (0) */
  	if (BCMCPU_IS_6345())
diff --git a/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch b/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch
index 3028865273b809a986b5b003a8ed482d36183389..91cb629d8e253d5372e671ed61ff99f656347472 100644
--- a/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch
+++ b/target/linux/brcm63xx/patches-2.6.39/452-board_V2500V.patch
@@ -95,7 +95,7 @@
  
  	/* dump cfe version */
  	cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
-@@ -2264,6 +2338,14 @@ int __init board_register_devices(void)
+@@ -2263,6 +2337,14 @@ int __init board_register_devices(void)
  		val = bcm_mpi_readl(MPI_CSBASE_REG(0));
  		val &= MPI_CSBASE_BASE_MASK;
  	}
diff --git a/target/linux/brcm63xx/patches-3.0/240-spi.patch b/target/linux/brcm63xx/patches-3.0/240-spi.patch
index a567a7d3e8f8ccc48426c4476c5f618575ffd0f2..0757e336d0e4a6a92c45adca466794b3b316ac8f 100644
--- a/target/linux/brcm63xx/patches-3.0/240-spi.patch
+++ b/target/linux/brcm63xx/patches-3.0/240-spi.patch
@@ -26,7 +26,7 @@
  	[IRQ_DSL]		= BCM_6358_DSL_IRQ,
 --- /dev/null
 +++ b/arch/mips/bcm63xx/dev-spi.c
-@@ -0,0 +1,128 @@
+@@ -0,0 +1,131 @@
 +/*
 + * This file is subject to the terms and conditions of the GNU General Public
 + * License.  See the file "COPYING" in the main directory of this archive
@@ -144,6 +144,9 @@
 +	spi_resources[0].end += RSET_SPI_SIZE - 1;
 +	spi_resources[1].start = bcm63xx_get_irq_number(IRQ_SPI);
 +
++	if (BCMCPU_IS_6345())
++		return -ENODEV;
++
 +	/* Fill in platform data */
 +	if (BCMCPU_IS_6338() || BCMCPU_IS_6348())
 +		spi_pdata.fifo_size = SPI_BCM_6338_SPI_MSG_DATA_SIZE;
@@ -990,12 +993,11 @@
  #include <board_bcm963xx.h>
  
  #define PFX	"board_bcm963xx: "
-@@ -943,6 +944,9 @@ int __init board_register_devices(void)
+@@ -943,6 +944,8 @@ int __init board_register_devices(void)
  	if (board.num_spis)
  		spi_register_board_info(board.spis, board.num_spis);
  
-+	if (!BCMCPU_IS_6345())
-+		bcm63xx_spi_register();
++	bcm63xx_spi_register();
 +
  	/* read base address of boot chip select (0) */
  	if (BCMCPU_IS_6345())
diff --git a/target/linux/brcm63xx/patches-3.0/452-board_V2500V.patch b/target/linux/brcm63xx/patches-3.0/452-board_V2500V.patch
index 210008a11140c14939ddb93c742f23ad78d9c111..594467e572d788d62d0b77e39b2f105bf23d9426 100644
--- a/target/linux/brcm63xx/patches-3.0/452-board_V2500V.patch
+++ b/target/linux/brcm63xx/patches-3.0/452-board_V2500V.patch
@@ -95,7 +95,7 @@
  
  	/* dump cfe version */
  	cfe = boot_addr + BCM963XX_CFE_VERSION_OFFSET;
-@@ -2276,6 +2350,14 @@ int __init board_register_devices(void)
+@@ -2275,6 +2349,14 @@ int __init board_register_devices(void)
  		val = bcm_mpi_readl(MPI_CSBASE_REG(0));
  		val &= MPI_CSBASE_BASE_MASK;
  	}