You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/target/linux/bcm63xx/patches-5.4/371_add_of_node_available_b...

38 lines
875 B
Diff

--- a/arch/mips/bcm63xx/boards/board_common.c
+++ b/arch/mips/bcm63xx/boards/board_common.c
@@ -143,6 +143,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 */