diff options
Diffstat (limited to 'target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch')
-rw-r--r-- | target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch b/target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch new file mode 100644 index 0000000000..026eff3135 --- /dev/null +++ b/target/linux/bcm63xx/patches-5.10/371_add_of_node_available_by_alias.patch @@ -0,0 +1,37 @@ +--- 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 */ |