Index: linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c
===================================================================
--- linux-2.6.32.13.orig/arch/mips/bcm63xx/boards/board_bcm963xx.c	2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/bcm63xx/boards/board_bcm963xx.c	2010-05-27 21:44:35.000000000 -0400
@@ -984,6 +984,10 @@
 		platform_device_register(&bcm63xx_gpio_buttons_device);
 	}
 
+	if (board.num_devs) {
+		platform_add_devices(board.devs, board.num_devs);
+	}
+
 	return 0;
 }
 
Index: linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
===================================================================
--- linux-2.6.32.13.orig/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h	2010-05-27 21:44:19.000000000 -0400
+++ linux-2.6.32.13/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h	2010-05-27 21:44:35.000000000 -0400
@@ -59,6 +59,10 @@
 
 	/* Buttons */
 	struct gpio_button buttons[2];
+
+	/* Additional platform devices */
+	struct platform_device **devs;
+	unsigned int	num_devs;
 };
 
 #endif /* ! BOARD_BCM963XX_H_ */