projects
/
linux-2.6-block.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
[SPARC]: Add unsigned to unused bit field in a.out.h
[linux-2.6-block.git]
/
include
/
asm-sparc
/
prom.h
diff --git
a/include/asm-sparc/prom.h
b/include/asm-sparc/prom.h
index c5e3d26eabd35ea43ac995128e7e507dcdb1a21d..274868d8598db47bce0284afecb0a1dcc4d1e763 100644
(file)
--- a/
include/asm-sparc/prom.h
+++ b/
include/asm-sparc/prom.h
@@
-25,25
+25,19
@@
typedef u32 phandle;
typedef u32 ihandle;
typedef u32 phandle;
typedef u32 ihandle;
-struct interrupt_info {
- int line;
- int sense; /* +ve/-ve logic, edge or level, etc. */
-};
-
struct property {
char *name;
int length;
void *value;
struct property *next;
struct property {
char *name;
int length;
void *value;
struct property *next;
+ unsigned long _flags;
+ unsigned int unique_id;
};
struct device_node {
char *name;
char *type;
phandle node;
};
struct device_node {
char *name;
char *type;
phandle node;
- phandle linux_phandle;
- int n_intrs;
- struct interrupt_info *intrs;
char *path_component_name;
char *full_name;
char *path_component_name;
char *full_name;
@@
-58,8
+52,17
@@
struct device_node {
struct kref kref;
unsigned long _flags;
void *data;
struct kref kref;
unsigned long _flags;
void *data;
+ unsigned int unique_id;
};
};
+/* flag descriptions */
+#define OF_DYNAMIC 1 /* node and properties were allocated via kmalloc */
+
+#define OF_IS_DYNAMIC(x) test_bit(OF_DYNAMIC, &x->_flags)
+#define OF_MARK_DYNAMIC(x) set_bit(OF_DYNAMIC, &x->_flags)
+
+#define OF_BAD_ADDR ((u64)-1)
+
static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
{
dn->pde = de;
static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
{
dn->pde = de;
@@
-88,9
+91,13
@@
extern struct property *of_find_property(struct device_node *np,
extern int of_device_is_compatible(struct device_node *device, const char *);
extern void *of_get_property(struct device_node *node, const char *name,
int *lenp);
extern int of_device_is_compatible(struct device_node *device, const char *);
extern void *of_get_property(struct device_node *node, const char *name,
int *lenp);
+#define get_property(node,name,lenp) of_get_property(node,name,lenp)
+extern int of_set_property(struct device_node *node, const char *name, void *val, int len);
extern int of_getintprop_default(struct device_node *np,
const char *name,
int def);
extern int of_getintprop_default(struct device_node *np,
const char *name,
int def);
+extern int of_n_addr_cells(struct device_node *np);
+extern int of_n_size_cells(struct device_node *np);
extern void prom_build_devicetree(void);
extern void prom_build_devicetree(void);