--- /dev/null
+--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c
++++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c
+@@ -1051,5 +1051,9 @@ int __init board_register_devices(void)
+ platform_device_register(&bcm63xx_gpio_buttons_device);
+ }
+
++ if (board.num_devs) {
++ platform_add_devices(board.devs, board.num_devs);
++ }
++
+ return 0;
+ }
+--- a/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
++++ b/arch/mips/include/asm/mach-bcm63xx/board_bcm963xx.h
+@@ -61,6 +61,10 @@ struct board_info {
+
+ /* Buttons */
+ struct gpio_button buttons[2];
++
++ /* Additional platform devices */
++ struct platform_device **devs;
++ unsigned int num_devs;
+ };
+
+ #endif /* ! BOARD_BCM963XX_H_ */