diff options
Diffstat (limited to 'include/asm-powerpc/prom.h')
-rw-r--r-- | include/asm-powerpc/prom.h | 50 |
1 files changed, 13 insertions, 37 deletions
diff --git a/include/asm-powerpc/prom.h b/include/asm-powerpc/prom.h index 1632baa17dc6..6e391c9894ce 100644 --- a/include/asm-powerpc/prom.h +++ b/include/asm-powerpc/prom.h | |||
@@ -21,6 +21,13 @@ | |||
21 | #include <asm/irq.h> | 21 | #include <asm/irq.h> |
22 | #include <asm/atomic.h> | 22 | #include <asm/atomic.h> |
23 | 23 | ||
24 | #define OF_ROOT_NODE_ADDR_CELLS_DEFAULT 1 | ||
25 | #define OF_ROOT_NODE_SIZE_CELLS_DEFAULT 1 | ||
26 | |||
27 | #define of_compat_cmp(s1, s2, l) strncasecmp((s1), (s2), (l)) | ||
28 | #define of_prop_cmp(s1, s2) strcmp((s1), (s2)) | ||
29 | #define of_node_cmp(s1, s2) strcasecmp((s1), (s2)) | ||
30 | |||
24 | /* Definitions used by the flattened device tree */ | 31 | /* Definitions used by the flattened device tree */ |
25 | #define OF_DT_HEADER 0xd00dfeed /* marker */ | 32 | #define OF_DT_HEADER 0xd00dfeed /* marker */ |
26 | #define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ | 33 | #define OF_DT_BEGIN_NODE 0x1 /* Start of node, full name */ |
@@ -97,10 +104,6 @@ struct device_node { | |||
97 | 104 | ||
98 | extern struct device_node *of_chosen; | 105 | extern struct device_node *of_chosen; |
99 | 106 | ||
100 | /* flag descriptions */ | ||
101 | #define OF_DYNAMIC 1 /* node and properties were allocated via kmalloc */ | ||
102 | #define OF_DETACHED 2 /* node has been detached from the device tree */ | ||
103 | |||
104 | static inline int of_node_check_flag(struct device_node *n, unsigned long flag) | 107 | static inline int of_node_check_flag(struct device_node *n, unsigned long flag) |
105 | { | 108 | { |
106 | return test_bit(flag, &n->_flags); | 109 | return test_bit(flag, &n->_flags); |
@@ -120,31 +123,7 @@ static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_e | |||
120 | } | 123 | } |
121 | 124 | ||
122 | 125 | ||
123 | /* New style node lookup */ | ||
124 | extern struct device_node *of_find_node_by_name(struct device_node *from, | ||
125 | const char *name); | ||
126 | #define for_each_node_by_name(dn, name) \ | ||
127 | for (dn = of_find_node_by_name(NULL, name); dn; \ | ||
128 | dn = of_find_node_by_name(dn, name)) | ||
129 | extern struct device_node *of_find_node_by_type(struct device_node *from, | ||
130 | const char *type); | ||
131 | #define for_each_node_by_type(dn, type) \ | ||
132 | for (dn = of_find_node_by_type(NULL, type); dn; \ | ||
133 | dn = of_find_node_by_type(dn, type)) | ||
134 | extern struct device_node *of_find_compatible_node(struct device_node *from, | ||
135 | const char *type, const char *compat); | ||
136 | #define for_each_compatible_node(dn, type, compatible) \ | ||
137 | for (dn = of_find_compatible_node(NULL, type, compatible); dn; \ | ||
138 | dn = of_find_compatible_node(dn, type, compatible)) | ||
139 | extern struct device_node *of_find_node_by_path(const char *path); | ||
140 | extern struct device_node *of_find_node_by_phandle(phandle handle); | ||
141 | extern struct device_node *of_find_all_nodes(struct device_node *prev); | 126 | extern struct device_node *of_find_all_nodes(struct device_node *prev); |
142 | extern struct device_node *of_get_parent(const struct device_node *node); | ||
143 | extern struct device_node *of_get_next_child(const struct device_node *node, | ||
144 | struct device_node *prev); | ||
145 | extern struct property *of_find_property(const struct device_node *np, | ||
146 | const char *name, | ||
147 | int *lenp); | ||
148 | extern struct device_node *of_node_get(struct device_node *node); | 127 | extern struct device_node *of_node_get(struct device_node *node); |
149 | extern void of_node_put(struct device_node *node); | 128 | extern void of_node_put(struct device_node *node); |
150 | 129 | ||
@@ -166,17 +145,9 @@ extern void of_detach_node(const struct device_node *); | |||
166 | extern void finish_device_tree(void); | 145 | extern void finish_device_tree(void); |
167 | extern void unflatten_device_tree(void); | 146 | extern void unflatten_device_tree(void); |
168 | extern void early_init_devtree(void *); | 147 | extern void early_init_devtree(void *); |
169 | extern int of_device_is_compatible(const struct device_node *device, | ||
170 | const char *); | ||
171 | #define device_is_compatible(d, c) of_device_is_compatible((d), (c)) | 148 | #define device_is_compatible(d, c) of_device_is_compatible((d), (c)) |
172 | extern int machine_is_compatible(const char *compat); | 149 | extern int machine_is_compatible(const char *compat); |
173 | extern const void *of_get_property(const struct device_node *node, | ||
174 | const char *name, | ||
175 | int *lenp); | ||
176 | #define get_property(a, b, c) of_get_property((a), (b), (c)) | ||
177 | extern void print_properties(struct device_node *node); | 150 | extern void print_properties(struct device_node *node); |
178 | extern int of_n_addr_cells(struct device_node* np); | ||
179 | extern int of_n_size_cells(struct device_node* np); | ||
180 | extern int prom_n_intr_cells(struct device_node* np); | 151 | extern int prom_n_intr_cells(struct device_node* np); |
181 | extern void prom_get_irq_senses(unsigned char *senses, int off, int max); | 152 | extern void prom_get_irq_senses(unsigned char *senses, int off, int max); |
182 | extern int prom_add_property(struct device_node* np, struct property* prop); | 153 | extern int prom_add_property(struct device_node* np, struct property* prop); |
@@ -230,7 +201,6 @@ static inline unsigned long of_read_ulong(const u32 *cell, int size) | |||
230 | 201 | ||
231 | /* Translate an OF address block into a CPU physical address | 202 | /* Translate an OF address block into a CPU physical address |
232 | */ | 203 | */ |
233 | #define OF_BAD_ADDR ((u64)-1) | ||
234 | extern u64 of_translate_address(struct device_node *np, const u32 *addr); | 204 | extern u64 of_translate_address(struct device_node *np, const u32 *addr); |
235 | 205 | ||
236 | /* Extract an address from a device, returns the region size and | 206 | /* Extract an address from a device, returns the region size and |
@@ -357,5 +327,11 @@ extern int of_irq_to_resource(struct device_node *dev, int index, | |||
357 | */ | 327 | */ |
358 | extern void __iomem *of_iomap(struct device_node *device, int index); | 328 | extern void __iomem *of_iomap(struct device_node *device, int index); |
359 | 329 | ||
330 | /* | ||
331 | * NB: This is here while we transition from using asm/prom.h | ||
332 | * to linux/of.h | ||
333 | */ | ||
334 | #include <linux/of.h> | ||
335 | |||
360 | #endif /* __KERNEL__ */ | 336 | #endif /* __KERNEL__ */ |
361 | #endif /* _POWERPC_PROM_H */ | 337 | #endif /* _POWERPC_PROM_H */ |