aboutsummaryrefslogtreecommitdiffstats
path: root/target/linux/brcm63xx/patches-3.18/371_add_of_node_available_by_alias.patch
blob: 99d778deb770aa49cc35d934d7e95013f8f1b997 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
--- 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 */