summaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@davemloft.net>2006-06-26 08:18:36 +0200
committerDavid S. Miller <davem@davemloft.net>2006-06-26 08:18:36 +0200
commitfb7cd9d9acfb52dc1b9fbd5079445e4732667bbc (patch)
treea4f554595e2cebcca8b594cfe20b9a79ac6e535f /include
parent[SPARC64]: Export auxio_register to modules. (diff)
downloadlinux-fb7cd9d9acfb52dc1b9fbd5079445e4732667bbc.tar.xz
linux-fb7cd9d9acfb52dc1b9fbd5079445e4732667bbc.zip
[SPARC]: Add of_set_property() interface.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include')
-rw-r--r--include/asm-sparc/prom.h8
-rw-r--r--include/asm-sparc64/prom.h8
2 files changed, 16 insertions, 0 deletions
diff --git a/include/asm-sparc/prom.h b/include/asm-sparc/prom.h
index c5e3d26eabd3..e9b8047470fe 100644
--- a/include/asm-sparc/prom.h
+++ b/include/asm-sparc/prom.h
@@ -35,6 +35,7 @@ struct property {
int length;
void *value;
struct property *next;
+ unsigned long _flags;
};
struct device_node {
@@ -60,6 +61,12 @@ struct device_node {
void *data;
};
+/* 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)
+
static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
{
dn->pde = de;
@@ -88,6 +95,7 @@ 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_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);
diff --git a/include/asm-sparc64/prom.h b/include/asm-sparc64/prom.h
index 6d1556c0c263..c8022a337380 100644
--- a/include/asm-sparc64/prom.h
+++ b/include/asm-sparc64/prom.h
@@ -35,6 +35,7 @@ struct property {
int length;
void *value;
struct property *next;
+ unsigned long _flags;
};
struct device_node {
@@ -60,6 +61,12 @@ struct device_node {
void *data;
};
+/* 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)
+
static inline void set_node_proc_entry(struct device_node *dn, struct proc_dir_entry *de)
{
dn->pde = de;
@@ -88,6 +95,7 @@ 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_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);