clk: shmobile: Add r8a7740, sh73a0 SoCs to MSTP bindings
[linux-2.6/btrfs-unstable.git] / drivers / staging / board / board.c
blob6050fbdfd31fa6d2ed633d6b41bf4cf5fa0883e2
1 #include <linux/init.h>
2 #include <linux/device.h>
3 #include <linux/kernel.h>
4 #include <linux/of.h>
5 #include <linux/of_address.h>
6 #include "board.h"
8 static bool find_by_address(u64 base_address)
10 struct device_node *dn = of_find_all_nodes(NULL);
11 struct resource res;
13 while (dn) {
14 if (of_can_translate_address(dn)
15 && !of_address_to_resource(dn, 0, &res)) {
16 if (res.start == base_address) {
17 of_node_put(dn);
18 return true;
21 dn = of_find_all_nodes(dn);
24 return false;
27 bool __init board_staging_dt_node_available(const struct resource *resource,
28 unsigned int num_resources)
30 unsigned int i;
32 for (i = 0; i < num_resources; i++) {
33 const struct resource *r = resource + i;
35 if (resource_type(r) == IORESOURCE_MEM)
36 if (find_by_address(r->start))
37 return true; /* DT node available */
40 return false; /* Nothing found */