summaryrefslogtreecommitdiffstats
path: root/drivers/of/of_private.h
diff options
context:
space:
mode:
authorGrant Likely2014-07-16 07:25:43 +0200
committerGrant Likely2014-07-24 01:05:46 +0200
commita25095d451ece23b1fef34474f3230100db7aa05 (patch)
tree1144ef8101664c7242e27d62b179ec7d9438cefb /drivers/of/of_private.h
parentof: Make sure attached nodes don't carry along extra children (diff)
downloadkernel-qcow2-linux-a25095d451ece23b1fef34474f3230100db7aa05.tar.gz
kernel-qcow2-linux-a25095d451ece23b1fef34474f3230100db7aa05.tar.xz
kernel-qcow2-linux-a25095d451ece23b1fef34474f3230100db7aa05.zip
of: Move dynamic node fixups out of powerpc and into common code
PowerPC does an odd thing with dynamic nodes. It uses a notifier to catch new node additions and set some of the values like name and type. This makes no sense since that same code can be put directly into of_attach_node(). Besides, all dynamic node users need this, not just powerpc. Fix this problem by moving the logic out of arch/powerpc and into drivers/of/dynamic.c. It is also important to remove this notifier because we want to move the firing of notifiers from before the tree is modified to after so that the receiver gets a consistent view of the tree, but that is incompatible with notifiers that modify the node. Signed-off-by: Grant Likely <grant.likely@linaro.org> Cc: Nathan Fontenot <nfont@austin.ibm.com> Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Diffstat (limited to 'drivers/of/of_private.h')
-rw-r--r--drivers/of/of_private.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h
index 0d99ba8caeed..8129c0e58d70 100644
--- a/drivers/of/of_private.h
+++ b/drivers/of/of_private.h
@@ -63,6 +63,8 @@ static inline int of_property_notify(int action, struct device_node *np,
struct property *__of_prop_dup(const struct property *prop, gfp_t allocflags);
struct device_node *__of_node_alloc(const char *full_name, gfp_t allocflags);
+extern const void *__of_get_property(const struct device_node *np,
+ const char *name, int *lenp);
extern int __of_add_property(struct device_node *np, struct property *prop);
extern int __of_add_property_sysfs(struct device_node *np,
struct property *prop);