--- a/arch/mips/bcm63xx/boards/board_common.c +++ b/arch/mips/bcm63xx/boards/board_common.c @@ -147,6 +147,18 @@ void __init device_tree_init(void) unflatten_and_copy_device_tree(); } + +int board_of_device_present(const char *alias) +{ + bool present; + struct device_node *np; + + np = of_find_node_by_path(alias); + present = of_device_is_available(np); + of_node_put(np); + + return present; +} #endif static struct gpio_led_platform_data bcm63xx_led_data; --- a/arch/mips/bcm63xx/boards/board_common.h +++ b/arch/mips/bcm63xx/boards/board_common.h @@ -15,4 +15,13 @@ void board_bcm963xx_init(void); static inline void board_bcm963xx_init(void) { } #endif +#if defined(CONFIG_OF) +int board_of_device_present(const char *alias); +#else +static inline void board_of_device_present(const char *alias) +{ + return 0; +} +#endif + #endif /* __BOARD_COMMON_H */