summaryrefslogtreecommitdiffstats
path: root/drivers/of/of_private.h
diff options
context:
space:
mode:
authorGrant Likely <grant.likely@linaro.org>2014-06-26 16:40:48 +0200
committerGrant Likely <grant.likely@linaro.org>2014-07-07 14:59:45 +0200
commit6afc0dc381573559251de9a8259404f49e6aed14 (patch)
treeae2e323b3556a08aa1756f604770d94c963e4303 /drivers/of/of_private.h
parentof: rename of_aliases_mutex to just of_mutex (diff)
downloadlinux-6afc0dc381573559251de9a8259404f49e6aed14.tar.xz
linux-6afc0dc381573559251de9a8259404f49e6aed14.zip
of: Move CONFIG_OF_DYNAMIC code into a separate file
Split the dynamic device tree code into a separate file to make it really clear what features CONFIF_OF_DYNAMIC add to the kernel. Without CONFIG_OF_DYNAMIC only properties can be changed, and notifiers do not get sent. Enabling it turns on reference counting, notifiers and the ability to add and remove nodes. v2: Moved of_node_release() into dynamic.c Signed-off-by: Grant Likely <grant.likely@linaro.org> Signed-off-by: Pantelis Antoniou <pantelis.antoniou@konsulko.com> Cc: Rob Herring <robh+dt@kernel.org>
Diffstat (limited to 'drivers/of/of_private.h')
-rw-r--r--drivers/of/of_private.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/of/of_private.h b/drivers/of/of_private.h
index fcc70e74dfe0..c270f2037779 100644
--- a/drivers/of/of_private.h
+++ b/drivers/of/of_private.h
@@ -33,4 +33,22 @@ struct alias_prop {
extern struct mutex of_mutex;
extern struct list_head aliases_lookup;
+
+static inline struct device_node *kobj_to_device_node(struct kobject *kobj)
+{
+ return container_of(kobj, struct device_node, kobj);
+}
+
+#if defined(CONFIG_OF_DYNAMIC)
+extern int of_property_notify(int action, struct device_node *np,
+ struct property *prop);
+extern void of_node_release(struct kobject *kobj);
+#else /* CONFIG_OF_DYNAMIC */
+static inline int of_property_notify(int action, struct device_node *np,
+ struct property *prop)
+{
+ return 0;
+}
+#endif /* CONFIG_OF_DYNAMIC */
+
#endif /* _LINUX_OF_PRIVATE_H */