2008-12-05 04:12:20 +00:00
|
|
|
#ifndef __PROM_H
|
|
|
|
#define __PROM_H
|
|
|
|
|
|
|
|
#include <linux/spinlock.h>
|
|
|
|
#include <asm/prom.h>
|
|
|
|
|
|
|
|
extern struct device_node *allnodes; /* temporary while merging */
|
|
|
|
extern rwlock_t devtree_lock; /* temporary while merging */
|
|
|
|
|
2008-12-05 08:40:43 +00:00
|
|
|
extern void * prom_early_alloc(unsigned long size);
|
|
|
|
|
2008-12-05 08:43:03 +00:00
|
|
|
#ifdef CONFIG_SPARC64
|
|
|
|
extern void irq_trans_init(struct device_node *dp);
|
|
|
|
#endif
|
|
|
|
|
2008-12-05 08:50:22 +00:00
|
|
|
extern unsigned int prom_unique_id;
|
|
|
|
|
2008-12-05 09:21:41 +00:00
|
|
|
static inline int is_root_node(const struct device_node *dp)
|
|
|
|
{
|
|
|
|
if (!dp)
|
|
|
|
return 0;
|
2008-12-05 09:00:46 +00:00
|
|
|
|
2008-12-05 09:21:41 +00:00
|
|
|
return (dp->parent == NULL);
|
|
|
|
}
|
|
|
|
|
|
|
|
extern char *build_path_component(struct device_node *dp);
|
|
|
|
|
|
|
|
extern struct device_node * __init prom_create_node(phandle node,
|
|
|
|
struct device_node *parent);
|
|
|
|
|
|
|
|
extern struct device_node * __init prom_build_tree(struct device_node *parent,
|
|
|
|
phandle node,
|
|
|
|
struct device_node ***nextp);
|
2008-12-05 04:12:20 +00:00
|
|
|
#endif /* __PROM_H */
|