aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--arch/sparc64/kernel/prom.c12
-rw-r--r--include/asm-sparc64/prom.h3
2 files changed, 15 insertions, 0 deletions
diff --git a/arch/sparc64/kernel/prom.c b/arch/sparc64/kernel/prom.c
index fd46e94ce06..0a32b1064df 100644
--- a/arch/sparc64/kernel/prom.c
+++ b/arch/sparc64/kernel/prom.c
@@ -104,6 +104,18 @@ struct property *of_find_property(struct device_node *np, const char *name,
return pp;
}
+int of_getintprop_default(struct device_node *np, const char *name, int def)
+{
+ struct property *prop;
+ int len;
+
+ prop = of_find_property(np, name, &len);
+ if (!prop || len != 4)
+ return def;
+
+ return *(int *) prop->value;
+}
+
static unsigned int prom_early_allocated;
static void * __init prom_early_alloc(unsigned long size)
diff --git a/include/asm-sparc64/prom.h b/include/asm-sparc64/prom.h
index eb75d3cbcf4..d0187b3a0ec 100644
--- a/include/asm-sparc64/prom.h
+++ b/include/asm-sparc64/prom.h
@@ -82,6 +82,9 @@ extern struct device_node *of_get_next_child(const struct device_node *node,
extern struct property *of_find_property(struct device_node *np,
const char *name,
int *lenp);
+extern int of_getintprop_default(struct device_node *np,
+ const char *name,
+ int def);
extern void prom_build_devicetree(void);