[PATCH 17/18] Add a get_parent method to dt_ops.
From: Scott Wood <hidden>
Date: 2007-01-24 21:07:35
Subsystem:
linux for powerpc (32-bit and 64-bit), the rest · Maintainers:
Madhavan Srinivasan, Linus Torvalds
Signed-off-by: Scott Wood <redacted> --- arch/powerpc/boot/flatdevtree_misc.c | 6 ++++++ arch/powerpc/boot/ops.h | 7 ++++++- 2 files changed, 12 insertions(+), 1 deletions(-)
diff --git a/arch/powerpc/boot/flatdevtree_misc.c b/arch/powerpc/boot/flatdevtree_misc.c
index eb8d48d..3ce109e 100644
--- a/arch/powerpc/boot/flatdevtree_misc.c
+++ b/arch/powerpc/boot/flatdevtree_misc.c@@ -51,12 +51,18 @@ unsigned long ft_finalize(void) return (unsigned long)fdtm_cxt.bph; } +void *fdtm_get_parent(const void *phandle) +{ + return ft_get_parent(&fdtm_cxt, phandle); +} + int ft_init(void *dt_blob, unsigned int max_size, unsigned int max_find_device) { dt_ops.finddevice = ft_finddevice; dt_ops.getprop = ft_getprop; dt_ops.setprop = ft_setprop; dt_ops.finalize = ft_finalize; + dt_ops.get_parent = fdtm_get_parent; return ft_open(&fdtm_cxt, dt_blob, max_size, max_find_device, platform_ops.realloc);
diff --git a/arch/powerpc/boot/ops.h b/arch/powerpc/boot/ops.h
index 0bc4a68..65abba5 100644
--- a/arch/powerpc/boot/ops.h
+++ b/arch/powerpc/boot/ops.h@@ -36,6 +36,7 @@ struct dt_ops { const int buflen); int (*setprop)(const void *phandle, const char *name, const void *buf, const int buflen); + void *(*get_parent)(const void *phandle); unsigned long (*finalize)(void); }; extern struct dt_ops dt_ops;
@@ -69,7 +70,6 @@ int ns16550_console_init(void *devp, str void *simple_alloc_init(char *base, u32 heap_size, u32 granularity, u32 max_allocs); - static inline void *finddevice(const char *name) { return (dt_ops.finddevice) ? dt_ops.finddevice(name) : NULL;
@@ -85,6 +85,11 @@ static inline int setprop(void *devp, co return (dt_ops.setprop) ? dt_ops.setprop(devp, name, buf, buflen) : -1; } +static inline void *get_parent(const char *devp) +{ + return dt_ops.get_parent ? dt_ops.get_parent(devp) : NULL; +} + static inline void *malloc(u32 size) { return (platform_ops.malloc) ? platform_ops.malloc(size) : NULL;
--
1.4.4