--- a/arch/mips/bcm63xx/boards/board_bcm963xx.c +++ b/arch/mips/bcm63xx/boards/board_bcm963xx.c @@ -1000,6 +1000,10 @@ 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 @@ -59,6 +59,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_ */