1 #include <linux/init.h>
2 #include <linux/device.h>
3 #include <linux/kernel.h>
5 #include <linux/of_address.h>
8 static bool find_by_address(u64 base_address)
10 struct device_node *dn = of_find_all_nodes(NULL);
14 if (!of_address_to_resource(dn, 0, &res)) {
15 if (res.start == base_address) {
20 dn = of_find_all_nodes(dn);
26 bool __init board_staging_dt_node_available(const struct resource *resource,
27 unsigned int num_resources)
31 for (i = 0; i < num_resources; i++) {
32 const struct resource *r = resource + i;
34 if (resource_type(r) == IORESOURCE_MEM)
35 if (find_by_address(r->start))
36 return true; /* DT node available */
39 return false; /* Nothing found */